From 50f955c242c4d35feba8b57f03a7b22d3d791262 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20Walstr=C3=B6m?= Date: Thu, 10 Apr 2025 15:21:36 +0200 Subject: [PATCH] Upgrade linux kernel to 6.12.23 (LTS) --- configs/aarch64_defconfig | 2 +- configs/aarch64_minimal_defconfig | 2 +- configs/r2s_defconfig | 2 +- configs/x86_64_defconfig | 2 +- configs/x86_64_minimal_defconfig | 2 +- doc/ChangeLog.md | 2 +- ...revent-parser-TCAM-memory-corruption.patch | 648 ------------------ ...e6xxx-Fix-timeout-on-waiting-for-PPU.patch | 6 +- ...x-Improve-indirect-register-access-p.patch | 6 +- ...x-Honor-ports-being-managed-via-in-b.patch | 6 +- ...x-Limit-rsvd2cpu-policy-to-user-port.patch | 4 +- ...dsa-mv88e6xxx-Add-LED-infrastructure.patch | 6 +- ...-mv88e6xxx-Add-LED-support-for-6393X.patch | 6 +- ...Use-tag-priority-as-initial-skb-prio.patch | 4 +- ...MDB-memberships-whose-L2-addresses-o.patch | 4 +- ...t-EtherType-based-priority-overrides.patch | 4 +- ...x-Support-EtherType-based-priority-o.patch | 6 +- ...a-mv88e6xxx-Add-mqprio-qdisc-support.patch | 6 +- ...x-Use-VLAN-prio-over-IP-when-both-ar.patch | 6 +- ...8e6xxx-Trap-locally-terminated-VLANs.patch | 6 +- ...0g-Support-firmware-loading-on-88X33.patch | 4 +- ...0g-Fix-power-up-when-strapped-to-sta.patch | 4 +- ...rvell10g-Add-LED-support-for-88X3310.patch | 4 +- ...0g-Support-LEDs-tied-to-a-single-med.patch | 4 +- ...phy-Do-not-resume-PHY-when-attaching.patch | 4 +- ...-classifying-unknown-multicast-as-mr.patch | 4 +- ...e-router-ports-when-forwarding-L2-mu.patch | 4 +- ...delay-for-applying-strict-multicast-.patch | 4 +- ...rentiate-MDB-additions-from-modifica.patch | 4 +- ...ie-tlv-Let-device-probe-even-when-TL.patch | 4 +- ...t-log-level-for-unauthorized-devices.patch | 4 +- ...x-collapse-disabled-state-into-block.patch | 4 +- ...x-Only-activate-LAG-offloading-when-.patch | 6 +- ...-r8153b-support-for-link-activity-L.patch} | 4 +- patches/linux/linux.hash | 2 +- 35 files changed, 71 insertions(+), 719 deletions(-) delete mode 100644 patches/linux/6.12.22/0027-net-mvpp2-Prevent-parser-TCAM-memory-corruption.patch rename patches/linux/{6.12.22 => 6.12.23}/0001-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch (85%) rename patches/linux/{6.12.22 => 6.12.23}/0002-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch (97%) rename patches/linux/{6.12.22 => 6.12.23}/0003-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch (87%) rename patches/linux/{6.12.22 => 6.12.23}/0004-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch (96%) rename patches/linux/{6.12.22 => 6.12.23}/0005-net-dsa-mv88e6xxx-Add-LED-infrastructure.patch (98%) rename patches/linux/{6.12.22 => 6.12.23}/0006-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch (98%) rename patches/linux/{6.12.22 => 6.12.23}/0007-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch (91%) rename patches/linux/{6.12.22 => 6.12.23}/0008-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch (95%) rename patches/linux/{6.12.22 => 6.12.23}/0009-net-dsa-Support-EtherType-based-priority-overrides.patch (96%) rename patches/linux/{6.12.22 => 6.12.23}/0010-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch (98%) rename patches/linux/{6.12.22 => 6.12.23}/0011-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch (96%) rename patches/linux/{6.12.22 => 6.12.23}/0012-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch (93%) rename patches/linux/{6.12.22 => 6.12.23}/0013-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch (97%) rename patches/linux/{6.12.22 => 6.12.23}/0014-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch (97%) rename patches/linux/{6.12.22 => 6.12.23}/0015-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch (92%) rename patches/linux/{6.12.22 => 6.12.23}/0016-net-phy-marvell10g-Add-LED-support-for-88X3310.patch (99%) rename patches/linux/{6.12.22 => 6.12.23}/0017-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch (94%) rename patches/linux/{6.12.22 => 6.12.23}/0018-net-phy-Do-not-resume-PHY-when-attaching.patch (89%) rename patches/linux/{6.12.22 => 6.12.23}/0019-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch (98%) rename patches/linux/{6.12.22 => 6.12.23}/0020-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch (90%) rename patches/linux/{6.12.22 => 6.12.23}/0021-net-bridge-drop-delay-for-applying-strict-multicast-.patch (98%) rename patches/linux/{6.12.22 => 6.12.23}/0022-net-bridge-Differentiate-MDB-additions-from-modifica.patch (96%) rename patches/linux/{6.12.22 => 6.12.23}/0023-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch (92%) rename patches/linux/{6.12.22 => 6.12.23}/0024-usb-core-adjust-log-level-for-unauthorized-devices.patch (93%) rename patches/linux/{6.12.22 => 6.12.23}/0025-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch (91%) rename patches/linux/{6.12.22 => 6.12.23}/0026-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch (96%) rename patches/linux/{6.12.22/0028-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch => 6.12.23/0027-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch} (91%) diff --git a/configs/aarch64_defconfig b/configs/aarch64_defconfig index 3fbbabe6..9dab65b3 100644 --- a/configs/aarch64_defconfig +++ b/configs/aarch64_defconfig @@ -27,7 +27,7 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.22" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.23" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/aarch64_minimal_defconfig b/configs/aarch64_minimal_defconfig index 6292fdba..04d607ef 100644 --- a/configs/aarch64_minimal_defconfig +++ b/configs/aarch64_minimal_defconfig @@ -27,7 +27,7 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.22" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.23" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/r2s_defconfig b/configs/r2s_defconfig index e700c703..711e9b9e 100644 --- a/configs/r2s_defconfig +++ b/configs/r2s_defconfig @@ -29,7 +29,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BR2_EXTERNAL_INFIX_PATH)/board/aarch64/r2s/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.22" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.23" BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_INFIX_PATH)/board/aarch64/r2s/rk3328-nanopi-r2s-dts.patch" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/r2s/linux_defconfig" diff --git a/configs/x86_64_defconfig b/configs/x86_64_defconfig index 89e55592..976453fe 100644 --- a/configs/x86_64_defconfig +++ b/configs/x86_64_defconfig @@ -26,7 +26,7 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INF BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.22" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.23" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/x86_64/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/x86_64_minimal_defconfig b/configs/x86_64_minimal_defconfig index 0055aa0b..33e364be 100644 --- a/configs/x86_64_minimal_defconfig +++ b/configs/x86_64_minimal_defconfig @@ -26,7 +26,7 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INF BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.22" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.23" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/x86_64/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index eea3fe3e..b2057888 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -8,7 +8,7 @@ All notable changes to the project are documented in this file. ------------------------- ### Changes - - Upgrade Linux kernel to 6.12.22 (LTS) + - Upgrade Linux kernel to 6.12.23 (LTS) - Format for disk image (for QEMU) has changed to `qcow2` ### Fixes diff --git a/patches/linux/6.12.22/0027-net-mvpp2-Prevent-parser-TCAM-memory-corruption.patch b/patches/linux/6.12.22/0027-net-mvpp2-Prevent-parser-TCAM-memory-corruption.patch deleted file mode 100644 index e35bda78..00000000 --- a/patches/linux/6.12.22/0027-net-mvpp2-Prevent-parser-TCAM-memory-corruption.patch +++ /dev/null @@ -1,648 +0,0 @@ -From f6862a76eca677ba1ad2892e781204a463ea78ee Mon Sep 17 00:00:00 2001 -From: Tobias Waldekranz -Date: Tue, 18 Mar 2025 10:55:09 +0100 -Subject: [PATCH 27/28] net: mvpp2: Prevent parser TCAM memory corruption -Organization: Wires - -Protect the parser TCAM/SRAM memory, and the cached (shadow) SRAM -information, from concurrent modifications. - -Both the TCAM and SRAM tables are indirectly accessed by configuring -an index register that selects the row to read or write to. This means -that operations must be atomic in order to, e.g., avoid spreading -writes across multiple rows. Since the shadow SRAM array is used to -find free rows in the hardware table, it must also be protected in -order to avoid TOCTOU errors where multiple cores allocate the same -row. - -This issue was detected in a situation where `mvpp2_set_rx_mode()` ran -concurrently on two CPUs. In this particular case the -MVPP2_PE_MAC_UC_PROMISCUOUS entry was corrupted, causing the -classifier unit to drop all incoming unicast - indicated by the -`rx_classifier_drops` counter. - -Fixes: 3f518509dedc ("ethernet: Add new driver for Marvell Armada 375 network unit") -Signed-off-by: Tobias Waldekranz ---- - drivers/net/ethernet/marvell/mvpp2/mvpp2.h | 3 + - .../net/ethernet/marvell/mvpp2/mvpp2_main.c | 3 +- - .../net/ethernet/marvell/mvpp2/mvpp2_prs.c | 201 ++++++++++++------ - 3 files changed, 140 insertions(+), 67 deletions(-) - -diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2.h b/drivers/net/ethernet/marvell/mvpp2/mvpp2.h -index 9e02e4367bec..9bd3d76b5fe2 100644 ---- a/drivers/net/ethernet/marvell/mvpp2/mvpp2.h -+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2.h -@@ -1108,6 +1108,9 @@ struct mvpp2 { - - /* Spinlocks for CM3 shared memory configuration */ - spinlock_t mss_spinlock; -+ -+ /* Spinlock for shared PRS parser memory and shadow table */ -+ spinlock_t prs_spinlock; - }; - - struct mvpp2_pcpu_stats { -diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c -index 3880dcc0418b..66b5a80c9c28 100644 ---- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c -+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c -@@ -7640,8 +7640,9 @@ static int mvpp2_probe(struct platform_device *pdev) - if (mvpp2_read(priv, MVPP2_VER_ID_REG) == MVPP2_VER_PP23) - priv->hw_version = MVPP23; - -- /* Init mss lock */ -+ /* Init locks for shared packet processor resources */ - spin_lock_init(&priv->mss_spinlock); -+ spin_lock_init(&priv->prs_spinlock); - - /* Initialize network controller */ - err = mvpp2_init(pdev, priv); -diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c -index 9af22f497a40..a96edc7dc0de 100644 ---- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c -+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c -@@ -23,6 +23,8 @@ static int mvpp2_prs_hw_write(struct mvpp2 *priv, struct mvpp2_prs_entry *pe) - { - int i; - -+ lockdep_assert_held(&priv->prs_spinlock); -+ - if (pe->index > MVPP2_PRS_TCAM_SRAM_SIZE - 1) - return -EINVAL; - -@@ -43,11 +45,13 @@ static int mvpp2_prs_hw_write(struct mvpp2 *priv, struct mvpp2_prs_entry *pe) - } - - /* Initialize tcam entry from hw */ --int mvpp2_prs_init_from_hw(struct mvpp2 *priv, struct mvpp2_prs_entry *pe, -- int tid) -+static int mvpp2_prs_init_from_hw_unlocked(struct mvpp2 *priv, -+ struct mvpp2_prs_entry *pe, int tid) - { - int i; - -+ lockdep_assert_held(&priv->prs_spinlock); -+ - if (tid > MVPP2_PRS_TCAM_SRAM_SIZE - 1) - return -EINVAL; - -@@ -73,6 +77,18 @@ int mvpp2_prs_init_from_hw(struct mvpp2 *priv, struct mvpp2_prs_entry *pe, - return 0; - } - -+int mvpp2_prs_init_from_hw(struct mvpp2 *priv, struct mvpp2_prs_entry *pe, -+ int tid) -+{ -+ int err; -+ -+ spin_lock_bh(&priv->prs_spinlock); -+ err = mvpp2_prs_init_from_hw_unlocked(priv, pe, tid); -+ spin_unlock_bh(&priv->prs_spinlock); -+ -+ return err; -+} -+ - /* Invalidate tcam hw entry */ - static void mvpp2_prs_hw_inv(struct mvpp2 *priv, int index) - { -@@ -374,7 +390,7 @@ static int mvpp2_prs_flow_find(struct mvpp2 *priv, int flow) - priv->prs_shadow[tid].lu != MVPP2_PRS_LU_FLOWS) - continue; - -- mvpp2_prs_init_from_hw(priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid); - bits = mvpp2_prs_sram_ai_get(&pe); - - /* Sram store classification lookup ID in AI bits [5:0] */ -@@ -441,7 +457,7 @@ static void mvpp2_prs_mac_drop_all_set(struct mvpp2 *priv, int port, bool add) - - if (priv->prs_shadow[MVPP2_PE_DROP_ALL].valid) { - /* Entry exist - update port only */ -- mvpp2_prs_init_from_hw(priv, &pe, MVPP2_PE_DROP_ALL); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, MVPP2_PE_DROP_ALL); - } else { - /* Entry doesn't exist - create new */ - memset(&pe, 0, sizeof(pe)); -@@ -469,14 +485,17 @@ static void mvpp2_prs_mac_drop_all_set(struct mvpp2 *priv, int port, bool add) - } - - /* Set port to unicast or multicast promiscuous mode */ --void mvpp2_prs_mac_promisc_set(struct mvpp2 *priv, int port, -- enum mvpp2_prs_l2_cast l2_cast, bool add) -+static void mvpp2_prs_mac_promisc_set_unlocked(struct mvpp2 *priv, int port, -+ enum mvpp2_prs_l2_cast l2_cast, -+ bool add) - { - struct mvpp2_prs_entry pe; - unsigned char cast_match; - unsigned int ri; - int tid; - -+ lockdep_assert_held(&priv->prs_spinlock); -+ - if (l2_cast == MVPP2_PRS_L2_UNI_CAST) { - cast_match = MVPP2_PRS_UCAST_VAL; - tid = MVPP2_PE_MAC_UC_PROMISCUOUS; -@@ -489,7 +508,7 @@ void mvpp2_prs_mac_promisc_set(struct mvpp2 *priv, int port, - - /* promiscuous mode - Accept unknown unicast or multicast packets */ - if (priv->prs_shadow[tid].valid) { -- mvpp2_prs_init_from_hw(priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid); - } else { - memset(&pe, 0, sizeof(pe)); - mvpp2_prs_tcam_lu_set(&pe, MVPP2_PRS_LU_MAC); -@@ -522,6 +541,14 @@ void mvpp2_prs_mac_promisc_set(struct mvpp2 *priv, int port, - mvpp2_prs_hw_write(priv, &pe); - } - -+void mvpp2_prs_mac_promisc_set(struct mvpp2 *priv, int port, -+ enum mvpp2_prs_l2_cast l2_cast, bool add) -+{ -+ spin_lock_bh(&priv->prs_spinlock); -+ mvpp2_prs_mac_promisc_set_unlocked(priv, port, l2_cast, add); -+ spin_unlock_bh(&priv->prs_spinlock); -+} -+ - /* Set entry for dsa packets */ - static void mvpp2_prs_dsa_tag_set(struct mvpp2 *priv, int port, bool add, - bool tagged, bool extend) -@@ -539,7 +566,7 @@ static void mvpp2_prs_dsa_tag_set(struct mvpp2 *priv, int port, bool add, - - if (priv->prs_shadow[tid].valid) { - /* Entry exist - update port only */ -- mvpp2_prs_init_from_hw(priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid); - } else { - /* Entry doesn't exist - create new */ - memset(&pe, 0, sizeof(pe)); -@@ -610,7 +637,7 @@ static void mvpp2_prs_dsa_tag_ethertype_set(struct mvpp2 *priv, int port, - - if (priv->prs_shadow[tid].valid) { - /* Entry exist - update port only */ -- mvpp2_prs_init_from_hw(priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid); - } else { - /* Entry doesn't exist - create new */ - memset(&pe, 0, sizeof(pe)); -@@ -673,7 +700,7 @@ static int mvpp2_prs_vlan_find(struct mvpp2 *priv, unsigned short tpid, int ai) - priv->prs_shadow[tid].lu != MVPP2_PRS_LU_VLAN) - continue; - -- mvpp2_prs_init_from_hw(priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid); - match = mvpp2_prs_tcam_data_cmp(&pe, 0, tpid); - if (!match) - continue; -@@ -726,7 +753,7 @@ static int mvpp2_prs_vlan_add(struct mvpp2 *priv, unsigned short tpid, int ai, - priv->prs_shadow[tid_aux].lu != MVPP2_PRS_LU_VLAN) - continue; - -- mvpp2_prs_init_from_hw(priv, &pe, tid_aux); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid_aux); - ri_bits = mvpp2_prs_sram_ri_get(&pe); - if ((ri_bits & MVPP2_PRS_RI_VLAN_MASK) == - MVPP2_PRS_RI_VLAN_DOUBLE) -@@ -760,7 +787,7 @@ static int mvpp2_prs_vlan_add(struct mvpp2 *priv, unsigned short tpid, int ai, - - mvpp2_prs_shadow_set(priv, pe.index, MVPP2_PRS_LU_VLAN); - } else { -- mvpp2_prs_init_from_hw(priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid); - } - /* Update ports' mask */ - mvpp2_prs_tcam_port_map_set(&pe, port_map); -@@ -800,7 +827,7 @@ static int mvpp2_prs_double_vlan_find(struct mvpp2 *priv, unsigned short tpid1, - priv->prs_shadow[tid].lu != MVPP2_PRS_LU_VLAN) - continue; - -- mvpp2_prs_init_from_hw(priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid); - - match = mvpp2_prs_tcam_data_cmp(&pe, 0, tpid1) && - mvpp2_prs_tcam_data_cmp(&pe, 4, tpid2); -@@ -849,7 +876,7 @@ static int mvpp2_prs_double_vlan_add(struct mvpp2 *priv, unsigned short tpid1, - priv->prs_shadow[tid_aux].lu != MVPP2_PRS_LU_VLAN) - continue; - -- mvpp2_prs_init_from_hw(priv, &pe, tid_aux); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid_aux); - ri_bits = mvpp2_prs_sram_ri_get(&pe); - ri_bits &= MVPP2_PRS_RI_VLAN_MASK; - if (ri_bits == MVPP2_PRS_RI_VLAN_SINGLE || -@@ -880,7 +907,7 @@ static int mvpp2_prs_double_vlan_add(struct mvpp2 *priv, unsigned short tpid1, - - mvpp2_prs_shadow_set(priv, pe.index, MVPP2_PRS_LU_VLAN); - } else { -- mvpp2_prs_init_from_hw(priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid); - } - - /* Update ports' mask */ -@@ -1213,8 +1240,8 @@ static void mvpp2_prs_mac_init(struct mvpp2 *priv) - /* Create dummy entries for drop all and promiscuous modes */ - mvpp2_prs_drop_fc(priv); - mvpp2_prs_mac_drop_all_set(priv, 0, false); -- mvpp2_prs_mac_promisc_set(priv, 0, MVPP2_PRS_L2_UNI_CAST, false); -- mvpp2_prs_mac_promisc_set(priv, 0, MVPP2_PRS_L2_MULTI_CAST, false); -+ mvpp2_prs_mac_promisc_set_unlocked(priv, 0, MVPP2_PRS_L2_UNI_CAST, false); -+ mvpp2_prs_mac_promisc_set_unlocked(priv, 0, MVPP2_PRS_L2_MULTI_CAST, false); - } - - /* Set default entries for various types of dsa packets */ -@@ -1533,12 +1560,6 @@ static int mvpp2_prs_vlan_init(struct platform_device *pdev, struct mvpp2 *priv) - struct mvpp2_prs_entry pe; - int err; - -- priv->prs_double_vlans = devm_kcalloc(&pdev->dev, sizeof(bool), -- MVPP2_PRS_DBL_VLANS_MAX, -- GFP_KERNEL); -- if (!priv->prs_double_vlans) -- return -ENOMEM; -- - /* Double VLAN: 0x88A8, 0x8100 */ - err = mvpp2_prs_double_vlan_add(priv, ETH_P_8021AD, ETH_P_8021Q, - MVPP2_PRS_PORT_MASK); -@@ -1941,7 +1962,7 @@ static int mvpp2_prs_vid_range_find(struct mvpp2_port *port, u16 vid, u16 mask) - port->priv->prs_shadow[tid].lu != MVPP2_PRS_LU_VID) - continue; - -- mvpp2_prs_init_from_hw(port->priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(port->priv, &pe, tid); - - mvpp2_prs_tcam_data_byte_get(&pe, 2, &byte[0], &enable[0]); - mvpp2_prs_tcam_data_byte_get(&pe, 3, &byte[1], &enable[1]); -@@ -1970,6 +1991,8 @@ int mvpp2_prs_vid_entry_add(struct mvpp2_port *port, u16 vid) - - memset(&pe, 0, sizeof(pe)); - -+ spin_lock_bh(&priv->prs_spinlock); -+ - /* Scan TCAM and see if entry with this already exist */ - tid = mvpp2_prs_vid_range_find(port, vid, mask); - -@@ -1988,8 +2011,10 @@ int mvpp2_prs_vid_entry_add(struct mvpp2_port *port, u16 vid) - MVPP2_PRS_VLAN_FILT_MAX_ENTRY); - - /* There isn't room for a new VID filter */ -- if (tid < 0) -+ if (tid < 0) { -+ spin_unlock_bh(&priv->prs_spinlock); - return tid; -+ } - - mvpp2_prs_tcam_lu_set(&pe, MVPP2_PRS_LU_VID); - pe.index = tid; -@@ -1997,7 +2022,7 @@ int mvpp2_prs_vid_entry_add(struct mvpp2_port *port, u16 vid) - /* Mask all ports */ - mvpp2_prs_tcam_port_map_set(&pe, 0); - } else { -- mvpp2_prs_init_from_hw(priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid); - } - - /* Enable the current port */ -@@ -2019,6 +2044,7 @@ int mvpp2_prs_vid_entry_add(struct mvpp2_port *port, u16 vid) - mvpp2_prs_shadow_set(priv, pe.index, MVPP2_PRS_LU_VID); - mvpp2_prs_hw_write(priv, &pe); - -+ spin_unlock_bh(&priv->prs_spinlock); - return 0; - } - -@@ -2028,15 +2054,16 @@ void mvpp2_prs_vid_entry_remove(struct mvpp2_port *port, u16 vid) - struct mvpp2 *priv = port->priv; - int tid; - -- /* Scan TCAM and see if entry with this already exist */ -- tid = mvpp2_prs_vid_range_find(port, vid, 0xfff); -+ spin_lock_bh(&priv->prs_spinlock); - -- /* No such entry */ -- if (tid < 0) -- return; -+ /* Invalidate TCAM entry with this , if it exists */ -+ tid = mvpp2_prs_vid_range_find(port, vid, 0xfff); -+ if (tid >= 0) { -+ mvpp2_prs_hw_inv(priv, tid); -+ priv->prs_shadow[tid].valid = false; -+ } - -- mvpp2_prs_hw_inv(priv, tid); -- priv->prs_shadow[tid].valid = false; -+ spin_unlock_bh(&priv->prs_spinlock); - } - - /* Remove all existing VID filters on this port */ -@@ -2045,6 +2072,8 @@ void mvpp2_prs_vid_remove_all(struct mvpp2_port *port) - struct mvpp2 *priv = port->priv; - int tid; - -+ spin_lock_bh(&priv->prs_spinlock); -+ - for (tid = MVPP2_PRS_VID_PORT_FIRST(port->id); - tid <= MVPP2_PRS_VID_PORT_LAST(port->id); tid++) { - if (priv->prs_shadow[tid].valid) { -@@ -2052,6 +2081,8 @@ void mvpp2_prs_vid_remove_all(struct mvpp2_port *port) - priv->prs_shadow[tid].valid = false; - } - } -+ -+ spin_unlock_bh(&priv->prs_spinlock); - } - - /* Remove VID filering entry for this port */ -@@ -2060,10 +2091,14 @@ void mvpp2_prs_vid_disable_filtering(struct mvpp2_port *port) - unsigned int tid = MVPP2_PRS_VID_PORT_DFLT(port->id); - struct mvpp2 *priv = port->priv; - -+ spin_lock_bh(&priv->prs_spinlock); -+ - /* Invalidate the guard entry */ - mvpp2_prs_hw_inv(priv, tid); - - priv->prs_shadow[tid].valid = false; -+ -+ spin_unlock_bh(&priv->prs_spinlock); - } - - /* Add guard entry that drops packets when no VID is matched on this port */ -@@ -2079,6 +2114,8 @@ void mvpp2_prs_vid_enable_filtering(struct mvpp2_port *port) - - memset(&pe, 0, sizeof(pe)); - -+ spin_lock_bh(&priv->prs_spinlock); -+ - pe.index = tid; - - reg_val = mvpp2_read(priv, MVPP2_MH_REG(port->id)); -@@ -2111,6 +2148,8 @@ void mvpp2_prs_vid_enable_filtering(struct mvpp2_port *port) - /* Update shadow table */ - mvpp2_prs_shadow_set(priv, pe.index, MVPP2_PRS_LU_VID); - mvpp2_prs_hw_write(priv, &pe); -+ -+ spin_unlock_bh(&priv->prs_spinlock); - } - - /* Parser default initialization */ -@@ -2118,6 +2157,20 @@ int mvpp2_prs_default_init(struct platform_device *pdev, struct mvpp2 *priv) - { - int err, index, i; - -+ priv->prs_shadow = devm_kcalloc(&pdev->dev, MVPP2_PRS_TCAM_SRAM_SIZE, -+ sizeof(*priv->prs_shadow), -+ GFP_KERNEL); -+ if (!priv->prs_shadow) -+ return -ENOMEM; -+ -+ priv->prs_double_vlans = devm_kcalloc(&pdev->dev, sizeof(bool), -+ MVPP2_PRS_DBL_VLANS_MAX, -+ GFP_KERNEL); -+ if (!priv->prs_double_vlans) -+ return -ENOMEM; -+ -+ spin_lock_bh(&priv->prs_spinlock); -+ - /* Enable tcam table */ - mvpp2_write(priv, MVPP2_PRS_TCAM_CTRL_REG, MVPP2_PRS_TCAM_EN_MASK); - -@@ -2136,12 +2189,6 @@ int mvpp2_prs_default_init(struct platform_device *pdev, struct mvpp2 *priv) - for (index = 0; index < MVPP2_PRS_TCAM_SRAM_SIZE; index++) - mvpp2_prs_hw_inv(priv, index); - -- priv->prs_shadow = devm_kcalloc(&pdev->dev, MVPP2_PRS_TCAM_SRAM_SIZE, -- sizeof(*priv->prs_shadow), -- GFP_KERNEL); -- if (!priv->prs_shadow) -- return -ENOMEM; -- - /* Always start from lookup = 0 */ - for (index = 0; index < MVPP2_MAX_PORTS; index++) - mvpp2_prs_hw_port_init(priv, index, MVPP2_PRS_LU_MH, -@@ -2158,26 +2205,13 @@ int mvpp2_prs_default_init(struct platform_device *pdev, struct mvpp2 *priv) - mvpp2_prs_vid_init(priv); - - err = mvpp2_prs_etype_init(priv); -- if (err) -- return err; -- -- err = mvpp2_prs_vlan_init(pdev, priv); -- if (err) -- return err; -- -- err = mvpp2_prs_pppoe_init(priv); -- if (err) -- return err; -- -- err = mvpp2_prs_ip6_init(priv); -- if (err) -- return err; -- -- err = mvpp2_prs_ip4_init(priv); -- if (err) -- return err; -+ err = err ? : mvpp2_prs_vlan_init(pdev, priv); -+ err = err ? : mvpp2_prs_pppoe_init(priv); -+ err = err ? : mvpp2_prs_ip6_init(priv); -+ err = err ? : mvpp2_prs_ip4_init(priv); - -- return 0; -+ spin_unlock_bh(&priv->prs_spinlock); -+ return err; - } - - /* Compare MAC DA with tcam entry data */ -@@ -2217,7 +2251,7 @@ mvpp2_prs_mac_da_range_find(struct mvpp2 *priv, int pmap, const u8 *da, - (priv->prs_shadow[tid].udf != udf_type)) - continue; - -- mvpp2_prs_init_from_hw(priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid); - entry_pmap = mvpp2_prs_tcam_port_map_get(&pe); - - if (mvpp2_prs_mac_range_equals(&pe, da, mask) && -@@ -2229,7 +2263,8 @@ mvpp2_prs_mac_da_range_find(struct mvpp2 *priv, int pmap, const u8 *da, - } - - /* Update parser's mac da entry */ --int mvpp2_prs_mac_da_accept(struct mvpp2_port *port, const u8 *da, bool add) -+static int mvpp2_prs_mac_da_accept_unlocked(struct mvpp2_port *port, -+ const u8 *da, bool add) - { - unsigned char mask[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; - struct mvpp2 *priv = port->priv; -@@ -2261,7 +2296,7 @@ int mvpp2_prs_mac_da_accept(struct mvpp2_port *port, const u8 *da, bool add) - /* Mask all ports */ - mvpp2_prs_tcam_port_map_set(&pe, 0); - } else { -- mvpp2_prs_init_from_hw(priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid); - } - - mvpp2_prs_tcam_lu_set(&pe, MVPP2_PRS_LU_MAC); -@@ -2317,6 +2352,17 @@ int mvpp2_prs_mac_da_accept(struct mvpp2_port *port, const u8 *da, bool add) - return 0; - } - -+int mvpp2_prs_mac_da_accept(struct mvpp2_port *port, const u8 *da, bool add) -+{ -+ int err; -+ -+ spin_lock_bh(&port->priv->prs_spinlock); -+ err = mvpp2_prs_mac_da_accept_unlocked(port, da, add); -+ spin_unlock_bh(&port->priv->prs_spinlock); -+ -+ return err; -+} -+ - int mvpp2_prs_update_mac_da(struct net_device *dev, const u8 *da) - { - struct mvpp2_port *port = netdev_priv(dev); -@@ -2345,6 +2391,8 @@ void mvpp2_prs_mac_del_all(struct mvpp2_port *port) - unsigned long pmap; - int index, tid; - -+ spin_lock_bh(&priv->prs_spinlock); -+ - for (tid = MVPP2_PE_MAC_RANGE_START; - tid <= MVPP2_PE_MAC_RANGE_END; tid++) { - unsigned char da[ETH_ALEN], da_mask[ETH_ALEN]; -@@ -2354,7 +2402,7 @@ void mvpp2_prs_mac_del_all(struct mvpp2_port *port) - (priv->prs_shadow[tid].udf != MVPP2_PRS_UDF_MAC_DEF)) - continue; - -- mvpp2_prs_init_from_hw(priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(priv, &pe, tid); - - pmap = mvpp2_prs_tcam_port_map_get(&pe); - -@@ -2375,14 +2423,17 @@ void mvpp2_prs_mac_del_all(struct mvpp2_port *port) - continue; - - /* Remove entry from TCAM */ -- mvpp2_prs_mac_da_accept(port, da, false); -+ mvpp2_prs_mac_da_accept_unlocked(port, da, false); - } -+ -+ spin_unlock_bh(&priv->prs_spinlock); - } - - int mvpp2_prs_tag_mode_set(struct mvpp2 *priv, int port, int type) - { - switch (type) { - case MVPP2_TAG_TYPE_EDSA: -+ spin_lock_bh(&priv->prs_spinlock); - /* Add port to EDSA entries */ - mvpp2_prs_dsa_tag_set(priv, port, true, - MVPP2_PRS_TAGGED, MVPP2_PRS_EDSA); -@@ -2393,9 +2444,11 @@ int mvpp2_prs_tag_mode_set(struct mvpp2 *priv, int port, int type) - MVPP2_PRS_TAGGED, MVPP2_PRS_DSA); - mvpp2_prs_dsa_tag_set(priv, port, false, - MVPP2_PRS_UNTAGGED, MVPP2_PRS_DSA); -+ spin_unlock_bh(&priv->prs_spinlock); - break; - - case MVPP2_TAG_TYPE_DSA: -+ spin_lock_bh(&priv->prs_spinlock); - /* Add port to DSA entries */ - mvpp2_prs_dsa_tag_set(priv, port, true, - MVPP2_PRS_TAGGED, MVPP2_PRS_DSA); -@@ -2406,10 +2459,12 @@ int mvpp2_prs_tag_mode_set(struct mvpp2 *priv, int port, int type) - MVPP2_PRS_TAGGED, MVPP2_PRS_EDSA); - mvpp2_prs_dsa_tag_set(priv, port, false, - MVPP2_PRS_UNTAGGED, MVPP2_PRS_EDSA); -+ spin_unlock_bh(&priv->prs_spinlock); - break; - - case MVPP2_TAG_TYPE_MH: - case MVPP2_TAG_TYPE_NONE: -+ spin_lock_bh(&priv->prs_spinlock); - /* Remove port form EDSA and DSA entries */ - mvpp2_prs_dsa_tag_set(priv, port, false, - MVPP2_PRS_TAGGED, MVPP2_PRS_DSA); -@@ -2419,6 +2474,7 @@ int mvpp2_prs_tag_mode_set(struct mvpp2 *priv, int port, int type) - MVPP2_PRS_TAGGED, MVPP2_PRS_EDSA); - mvpp2_prs_dsa_tag_set(priv, port, false, - MVPP2_PRS_UNTAGGED, MVPP2_PRS_EDSA); -+ spin_unlock_bh(&priv->prs_spinlock); - break; - - default: -@@ -2437,11 +2493,15 @@ int mvpp2_prs_add_flow(struct mvpp2 *priv, int flow, u32 ri, u32 ri_mask) - - memset(&pe, 0, sizeof(pe)); - -+ spin_lock_bh(&priv->prs_spinlock); -+ - tid = mvpp2_prs_tcam_first_free(priv, - MVPP2_PE_LAST_FREE_TID, - MVPP2_PE_FIRST_FREE_TID); -- if (tid < 0) -+ if (tid < 0) { -+ spin_unlock_bh(&priv->prs_spinlock); - return tid; -+ } - - pe.index = tid; - -@@ -2461,6 +2521,7 @@ int mvpp2_prs_add_flow(struct mvpp2 *priv, int flow, u32 ri, u32 ri_mask) - mvpp2_prs_tcam_port_map_set(&pe, MVPP2_PRS_PORT_MASK); - mvpp2_prs_hw_write(priv, &pe); - -+ spin_unlock_bh(&priv->prs_spinlock); - return 0; - } - -@@ -2472,6 +2533,8 @@ int mvpp2_prs_def_flow(struct mvpp2_port *port) - - memset(&pe, 0, sizeof(pe)); - -+ spin_lock_bh(&port->priv->prs_spinlock); -+ - tid = mvpp2_prs_flow_find(port->priv, port->id); - - /* Such entry not exist */ -@@ -2480,8 +2543,10 @@ int mvpp2_prs_def_flow(struct mvpp2_port *port) - tid = mvpp2_prs_tcam_first_free(port->priv, - MVPP2_PE_LAST_FREE_TID, - MVPP2_PE_FIRST_FREE_TID); -- if (tid < 0) -+ if (tid < 0) { -+ spin_unlock_bh(&port->priv->prs_spinlock); - return tid; -+ } - - pe.index = tid; - -@@ -2492,13 +2557,14 @@ int mvpp2_prs_def_flow(struct mvpp2_port *port) - /* Update shadow table */ - mvpp2_prs_shadow_set(port->priv, pe.index, MVPP2_PRS_LU_FLOWS); - } else { -- mvpp2_prs_init_from_hw(port->priv, &pe, tid); -+ mvpp2_prs_init_from_hw_unlocked(port->priv, &pe, tid); - } - - mvpp2_prs_tcam_lu_set(&pe, MVPP2_PRS_LU_FLOWS); - mvpp2_prs_tcam_port_map_set(&pe, (1 << port->id)); - mvpp2_prs_hw_write(port->priv, &pe); - -+ spin_unlock_bh(&port->priv->prs_spinlock); - return 0; - } - -@@ -2509,11 +2575,14 @@ int mvpp2_prs_hits(struct mvpp2 *priv, int index) - if (index > MVPP2_PRS_TCAM_SRAM_SIZE) - return -EINVAL; - -+ spin_lock_bh(&priv->prs_spinlock); -+ - mvpp2_write(priv, MVPP2_PRS_TCAM_HIT_IDX_REG, index); - - val = mvpp2_read(priv, MVPP2_PRS_TCAM_HIT_CNT_REG); - - val &= MVPP2_PRS_TCAM_HIT_CNT_MASK; - -+ spin_unlock_bh(&priv->prs_spinlock); - return val; - } diff --git a/patches/linux/6.12.22/0001-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch b/patches/linux/6.12.23/0001-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch similarity index 85% rename from patches/linux/6.12.22/0001-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch rename to patches/linux/6.12.23/0001-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch index 94f41400..755bd3cb 100644 --- a/patches/linux/6.12.22/0001-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch +++ b/patches/linux/6.12.23/0001-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch @@ -1,7 +1,7 @@ -From 412fc6e03cfa025b34791b21a99d2a57a3e55d6b Mon Sep 17 00:00:00 2001 +From aa7cb68028d74ca604e29af1e0291041593aed6b Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Mar 2024 10:27:24 +0100 -Subject: [PATCH 01/28] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for +Subject: [PATCH 01/27] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for PPU on 6393X Organization: Wires @@ -13,7 +13,7 @@ register 0, bit 15). Therefore, increase the timeout threshold to 1s. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index 5aeecfab9630..2565277582c5 100644 +index 5935100e7d65..378b6714dcf9 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -86,7 +86,7 @@ int mv88e6xxx_write(struct mv88e6xxx_chip *chip, int addr, int reg, u16 val) diff --git a/patches/linux/6.12.22/0002-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch b/patches/linux/6.12.23/0002-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch similarity index 97% rename from patches/linux/6.12.22/0002-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch rename to patches/linux/6.12.23/0002-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch index cbe8ae5e..22bf2fe4 100644 --- a/patches/linux/6.12.22/0002-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch +++ b/patches/linux/6.12.23/0002-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch @@ -1,7 +1,7 @@ -From 64426e005ad2ee6485c5ddf5421279278f48862b Mon Sep 17 00:00:00 2001 +From de553470d110f8a685f084e095cabe70f6e034e7 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 15:52:43 +0100 -Subject: [PATCH 02/28] net: dsa: mv88e6xxx: Improve indirect register access +Subject: [PATCH 02/27] net: dsa: mv88e6xxx: Improve indirect register access perf on 6393 Organization: Wires @@ -22,7 +22,7 @@ other accesses use the regular indirect interface. 5 files changed, 119 insertions(+) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index 2565277582c5..7ba492ee5c86 100644 +index 378b6714dcf9..e3da229cc309 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -6502,6 +6502,13 @@ static int mv88e6xxx_detect(struct mv88e6xxx_chip *chip) diff --git a/patches/linux/6.12.22/0003-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch b/patches/linux/6.12.23/0003-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch similarity index 87% rename from patches/linux/6.12.22/0003-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch rename to patches/linux/6.12.23/0003-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch index 1b11d14a..da9a9405 100644 --- a/patches/linux/6.12.22/0003-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch +++ b/patches/linux/6.12.23/0003-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch @@ -1,7 +1,7 @@ -From e37a0269c5ec92d9caa2d0bc40ddd2e306b3b3b2 Mon Sep 17 00:00:00 2001 +From 3071af4b67233b72e4861c9cddf86861c39e969a Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Mon, 22 Apr 2024 23:18:01 +0200 -Subject: [PATCH 03/28] net: dsa: mv88e6xxx: Honor ports being managed via +Subject: [PATCH 03/27] net: dsa: mv88e6xxx: Honor ports being managed via in-band-status Organization: Wires @@ -18,7 +18,7 @@ when in-band-status is being used. 1 file changed, 6 insertions(+) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index 7ba492ee5c86..cdf48fae0623 100644 +index e3da229cc309..1273d936177c 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -964,6 +964,9 @@ static void mv88e6xxx_mac_link_down(struct phylink_config *config, diff --git a/patches/linux/6.12.22/0004-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch b/patches/linux/6.12.23/0004-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch similarity index 96% rename from patches/linux/6.12.22/0004-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch rename to patches/linux/6.12.23/0004-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch index 7e870580..b0635478 100644 --- a/patches/linux/6.12.22/0004-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch +++ b/patches/linux/6.12.23/0004-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch @@ -1,7 +1,7 @@ -From 81a1058bbda1b01139880142920e3345869994c8 Mon Sep 17 00:00:00 2001 +From f832e39dec010abcab657040a2fc7eb39593a49c Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 24 Apr 2024 22:41:04 +0200 -Subject: [PATCH 04/28] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user +Subject: [PATCH 04/27] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user ports on 6393X Organization: Wires diff --git a/patches/linux/6.12.22/0005-net-dsa-mv88e6xxx-Add-LED-infrastructure.patch b/patches/linux/6.12.23/0005-net-dsa-mv88e6xxx-Add-LED-infrastructure.patch similarity index 98% rename from patches/linux/6.12.22/0005-net-dsa-mv88e6xxx-Add-LED-infrastructure.patch rename to patches/linux/6.12.23/0005-net-dsa-mv88e6xxx-Add-LED-infrastructure.patch index e3327e7f..b40e2851 100644 --- a/patches/linux/6.12.22/0005-net-dsa-mv88e6xxx-Add-LED-infrastructure.patch +++ b/patches/linux/6.12.23/0005-net-dsa-mv88e6xxx-Add-LED-infrastructure.patch @@ -1,7 +1,7 @@ -From cb2d53a6cbbdd86fabaa19bf1596bf707e22648b Mon Sep 17 00:00:00 2001 +From 28f28edf9eb603fb25dea6f73f5292b195b8f9b5 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 16 Nov 2023 19:44:32 +0100 -Subject: [PATCH 05/28] net: dsa: mv88e6xxx: Add LED infrastructure +Subject: [PATCH 05/27] net: dsa: mv88e6xxx: Add LED infrastructure Organization: Wires Parse DT for LEDs and register them for devices that support it, @@ -29,7 +29,7 @@ index a9a9651187db..6720d9303914 100644 mv88e6xxx-objs += pcs-6352.o mv88e6xxx-objs += pcs-639x.o diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index cdf48fae0623..0a7858280903 100644 +index 1273d936177c..e1224c3d217a 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -37,6 +37,7 @@ diff --git a/patches/linux/6.12.22/0006-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch b/patches/linux/6.12.23/0006-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch similarity index 98% rename from patches/linux/6.12.22/0006-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch rename to patches/linux/6.12.23/0006-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch index 77debd4a..c37f7f60 100644 --- a/patches/linux/6.12.22/0006-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch +++ b/patches/linux/6.12.23/0006-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch @@ -1,7 +1,7 @@ -From fcd9b8f9d6b91eab102dfa97ab7488abd1fbb9e4 Mon Sep 17 00:00:00 2001 +From 511ad81be48ff78279864de5ca9154ae12a2361b Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 16 Nov 2023 21:59:35 +0100 -Subject: [PATCH 06/28] net: dsa: mv88e6xxx: Add LED support for 6393X +Subject: [PATCH 06/27] net: dsa: mv88e6xxx: Add LED support for 6393X Organization: Wires Trigger support: @@ -17,7 +17,7 @@ Trigger support: 5 files changed, 272 insertions(+) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index 0a7858280903..cd746bea31be 100644 +index e1224c3d217a..8c7b8673b694 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -5657,6 +5657,7 @@ static const struct mv88e6xxx_ops mv88e6393x_ops = { diff --git a/patches/linux/6.12.22/0007-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch b/patches/linux/6.12.23/0007-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch similarity index 91% rename from patches/linux/6.12.22/0007-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch rename to patches/linux/6.12.23/0007-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch index 5398aed8..82148e05 100644 --- a/patches/linux/6.12.22/0007-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch +++ b/patches/linux/6.12.23/0007-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch @@ -1,7 +1,7 @@ -From a7f85153c0aa99c567c62a14f8c29eb3577265d9 Mon Sep 17 00:00:00 2001 +From 7ae7d5ff2239d9d99e0fc769a07bcdcb3edfde94 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 10:38:42 +0200 -Subject: [PATCH 07/28] net: dsa: tag_dsa: Use tag priority as initial +Subject: [PATCH 07/27] net: dsa: tag_dsa: Use tag priority as initial skb->priority Organization: Wires diff --git a/patches/linux/6.12.22/0008-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch b/patches/linux/6.12.23/0008-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch similarity index 95% rename from patches/linux/6.12.22/0008-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch rename to patches/linux/6.12.23/0008-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch index 8d31df44..7883e096 100644 --- a/patches/linux/6.12.22/0008-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch +++ b/patches/linux/6.12.23/0008-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch @@ -1,7 +1,7 @@ -From 8325784bddadb53ea2601858012be7097fa13c94 Mon Sep 17 00:00:00 2001 +From 4a8b7416746d92a0307b113aebcb9b8c429f031a Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 16 Jan 2024 16:00:55 +0100 -Subject: [PATCH 08/28] net: dsa: Support MDB memberships whose L2 addresses +Subject: [PATCH 08/27] net: dsa: Support MDB memberships whose L2 addresses overlap Organization: Wires diff --git a/patches/linux/6.12.22/0009-net-dsa-Support-EtherType-based-priority-overrides.patch b/patches/linux/6.12.23/0009-net-dsa-Support-EtherType-based-priority-overrides.patch similarity index 96% rename from patches/linux/6.12.22/0009-net-dsa-Support-EtherType-based-priority-overrides.patch rename to patches/linux/6.12.23/0009-net-dsa-Support-EtherType-based-priority-overrides.patch index 1e458771..be6b1845 100644 --- a/patches/linux/6.12.22/0009-net-dsa-Support-EtherType-based-priority-overrides.patch +++ b/patches/linux/6.12.23/0009-net-dsa-Support-EtherType-based-priority-overrides.patch @@ -1,7 +1,7 @@ -From d9b49e23c7848972227ffc6f079d8c62d2a03c2e Mon Sep 17 00:00:00 2001 +From 180ecf6cdc045f0bc661551e3f7b0b46c4a6e490 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 21 Mar 2024 19:12:15 +0100 -Subject: [PATCH 09/28] net: dsa: Support EtherType based priority overrides +Subject: [PATCH 09/27] net: dsa: Support EtherType based priority overrides Organization: Wires --- diff --git a/patches/linux/6.12.22/0010-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch b/patches/linux/6.12.23/0010-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch similarity index 98% rename from patches/linux/6.12.22/0010-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch rename to patches/linux/6.12.23/0010-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch index f5015825..a5946386 100644 --- a/patches/linux/6.12.22/0010-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch +++ b/patches/linux/6.12.23/0010-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch @@ -1,7 +1,7 @@ -From e77eb9a0196bad9f683411a0985821ab078da741 Mon Sep 17 00:00:00 2001 +From 6c90dd976e8ecb860533a0d1c07620bbb3401d28 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 22 Mar 2024 16:15:43 +0100 -Subject: [PATCH 10/28] net: dsa: mv88e6xxx: Support EtherType based priority +Subject: [PATCH 10/27] net: dsa: mv88e6xxx: Support EtherType based priority overrides Organization: Wires @@ -15,7 +15,7 @@ Organization: Wires 6 files changed, 207 insertions(+), 4 deletions(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index cd746bea31be..e05caeabdc85 100644 +index 8c7b8673b694..97b4e3770994 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -1715,6 +1715,11 @@ static int mv88e6xxx_rmu_setup(struct mv88e6xxx_chip *chip) diff --git a/patches/linux/6.12.22/0011-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch b/patches/linux/6.12.23/0011-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch similarity index 96% rename from patches/linux/6.12.22/0011-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch rename to patches/linux/6.12.23/0011-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch index 4a82a2a2..6b500834 100644 --- a/patches/linux/6.12.22/0011-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch +++ b/patches/linux/6.12.23/0011-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch @@ -1,7 +1,7 @@ -From 3fce5d8eb2b75aa4e549c798c703b99a5c895517 Mon Sep 17 00:00:00 2001 +From d253013e702aca0e4f91bea6f88a9442e25a8384 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 11:04:22 +0200 -Subject: [PATCH 11/28] net: dsa: mv88e6xxx: Add mqprio qdisc support +Subject: [PATCH 11/27] net: dsa: mv88e6xxx: Add mqprio qdisc support Organization: Wires Add support for attaching mqprio qdisc's to mv88e6xxx ports and use @@ -30,7 +30,7 @@ handle the mapping down to the "real" number. 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index e05caeabdc85..ad997818047e 100644 +index 97b4e3770994..d2404e9431b1 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -31,6 +31,7 @@ diff --git a/patches/linux/6.12.22/0012-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch b/patches/linux/6.12.23/0012-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch similarity index 93% rename from patches/linux/6.12.22/0012-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch rename to patches/linux/6.12.23/0012-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch index 40a3c129..ce3be8bc 100644 --- a/patches/linux/6.12.22/0012-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch +++ b/patches/linux/6.12.23/0012-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch @@ -1,7 +1,7 @@ -From 314fb04205646cf25cdcbd8bcd760e554b7dfe79 Mon Sep 17 00:00:00 2001 +From b4fe1543b6186642024d3600b47f093504ed10cc Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 29 May 2024 13:20:41 +0200 -Subject: [PATCH 12/28] net: dsa: mv88e6xxx: Use VLAN prio over IP when both +Subject: [PATCH 12/27] net: dsa: mv88e6xxx: Use VLAN prio over IP when both are available Organization: Wires @@ -27,7 +27,7 @@ main reasons for choosing the new default: 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index ad997818047e..40e8d2018fee 100644 +index d2404e9431b1..2477d201b2cf 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -3432,9 +3432,13 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) diff --git a/patches/linux/6.12.22/0013-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch b/patches/linux/6.12.23/0013-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch similarity index 97% rename from patches/linux/6.12.22/0013-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch rename to patches/linux/6.12.23/0013-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch index f5252737..6a3fb3a3 100644 --- a/patches/linux/6.12.22/0013-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch +++ b/patches/linux/6.12.23/0013-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch @@ -1,7 +1,7 @@ -From 696d559dd9874e8a481b66e24d85813d4f72b05f Mon Sep 17 00:00:00 2001 +From a9b8b2431a73995041df5f89e5c79af49e006729 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 26 Nov 2024 19:45:59 +0100 -Subject: [PATCH 13/28] [FIX] net: dsa: mv88e6xxx: Trap locally terminated +Subject: [PATCH 13/27] [FIX] net: dsa: mv88e6xxx: Trap locally terminated VLANs Organization: Wires @@ -31,7 +31,7 @@ cause all packets assigned to these VLANs to properly terminated. 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index 40e8d2018fee..30f8a5388733 100644 +index 2477d201b2cf..41f3223313d0 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -2654,7 +2654,7 @@ static int mv88e6xxx_port_broadcast_sync(struct mv88e6xxx_chip *chip, int port, diff --git a/patches/linux/6.12.22/0014-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch b/patches/linux/6.12.23/0014-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch similarity index 97% rename from patches/linux/6.12.22/0014-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch rename to patches/linux/6.12.23/0014-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch index d7386a78..d87db389 100644 --- a/patches/linux/6.12.22/0014-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch +++ b/patches/linux/6.12.23/0014-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch @@ -1,7 +1,7 @@ -From 898de5125467a650acf7da4cd938cbd0ac1c1be1 Mon Sep 17 00:00:00 2001 +From 82d6ed51bb597cd1f79e74b1263c3492738b3c71 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 19 Sep 2023 18:38:10 +0200 -Subject: [PATCH 14/28] net: phy: marvell10g: Support firmware loading on +Subject: [PATCH 14/27] net: phy: marvell10g: Support firmware loading on 88X3310 Organization: Wires diff --git a/patches/linux/6.12.22/0015-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch b/patches/linux/6.12.23/0015-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch similarity index 92% rename from patches/linux/6.12.22/0015-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch rename to patches/linux/6.12.23/0015-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch index c5085734..c263a14c 100644 --- a/patches/linux/6.12.22/0015-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch +++ b/patches/linux/6.12.23/0015-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch @@ -1,7 +1,7 @@ -From ca661bdd22cca40a21161fe202cfac74dddaaf45 Mon Sep 17 00:00:00 2001 +From 384a0171443f0136f626ca2aff94f393837bcb2c Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 21 Nov 2023 20:15:24 +0100 -Subject: [PATCH 15/28] net: phy: marvell10g: Fix power-up when strapped to +Subject: [PATCH 15/27] net: phy: marvell10g: Fix power-up when strapped to start powered down Organization: Wires diff --git a/patches/linux/6.12.22/0016-net-phy-marvell10g-Add-LED-support-for-88X3310.patch b/patches/linux/6.12.23/0016-net-phy-marvell10g-Add-LED-support-for-88X3310.patch similarity index 99% rename from patches/linux/6.12.22/0016-net-phy-marvell10g-Add-LED-support-for-88X3310.patch rename to patches/linux/6.12.23/0016-net-phy-marvell10g-Add-LED-support-for-88X3310.patch index e8092fed..d354ca38 100644 --- a/patches/linux/6.12.22/0016-net-phy-marvell10g-Add-LED-support-for-88X3310.patch +++ b/patches/linux/6.12.23/0016-net-phy-marvell10g-Add-LED-support-for-88X3310.patch @@ -1,7 +1,7 @@ -From 7884dc7b9dbd40165a34da8cdd4f7ebfdcfcfd86 Mon Sep 17 00:00:00 2001 +From ee93f4ed2fbd7595622ecf0ed3fa9e2803662ae9 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 15 Nov 2023 20:58:42 +0100 -Subject: [PATCH 16/28] net: phy: marvell10g: Add LED support for 88X3310 +Subject: [PATCH 16/27] net: phy: marvell10g: Add LED support for 88X3310 Organization: Wires Pickup the LEDs from the state in which the hardware reset or diff --git a/patches/linux/6.12.22/0017-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch b/patches/linux/6.12.23/0017-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch similarity index 94% rename from patches/linux/6.12.22/0017-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch rename to patches/linux/6.12.23/0017-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch index f8b484f0..91db2a08 100644 --- a/patches/linux/6.12.22/0017-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch +++ b/patches/linux/6.12.23/0017-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch @@ -1,7 +1,7 @@ -From c93ff33ba09c6af6a20f62e07590c01bc9252b78 Mon Sep 17 00:00:00 2001 +From a37059a58453694376e6e5df700d6d4c51703b13 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Dec 2023 09:51:05 +0100 -Subject: [PATCH 17/28] net: phy: marvell10g: Support LEDs tied to a single +Subject: [PATCH 17/27] net: phy: marvell10g: Support LEDs tied to a single media side Organization: Wires diff --git a/patches/linux/6.12.22/0018-net-phy-Do-not-resume-PHY-when-attaching.patch b/patches/linux/6.12.23/0018-net-phy-Do-not-resume-PHY-when-attaching.patch similarity index 89% rename from patches/linux/6.12.22/0018-net-phy-Do-not-resume-PHY-when-attaching.patch rename to patches/linux/6.12.23/0018-net-phy-Do-not-resume-PHY-when-attaching.patch index 9d9198ba..b17d557e 100644 --- a/patches/linux/6.12.22/0018-net-phy-Do-not-resume-PHY-when-attaching.patch +++ b/patches/linux/6.12.23/0018-net-phy-Do-not-resume-PHY-when-attaching.patch @@ -1,7 +1,7 @@ -From a4d0d5bff004b329cd83fa0806d52a6eb1977b55 Mon Sep 17 00:00:00 2001 +From 0fabf9cc0ddb17ed1d88212edcb41600444c51e3 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 10:10:19 +0100 -Subject: [PATCH 18/28] net: phy: Do not resume PHY when attaching +Subject: [PATCH 18/27] net: phy: Do not resume PHY when attaching Organization: Wires The PHY should not start negotiating with its link-partner until diff --git a/patches/linux/6.12.22/0019-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch b/patches/linux/6.12.23/0019-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch similarity index 98% rename from patches/linux/6.12.22/0019-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch rename to patches/linux/6.12.23/0019-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch index e41e35c4..a3dd219a 100644 --- a/patches/linux/6.12.22/0019-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch +++ b/patches/linux/6.12.23/0019-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch @@ -1,7 +1,7 @@ -From 4a519b0c0f6b213373756c81766f0d2564b782e7 Mon Sep 17 00:00:00 2001 +From 60514772701b8335077c9bbd7107786d2a7a3ed4 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 4 Mar 2024 16:47:28 +0100 -Subject: [PATCH 19/28] net: bridge: avoid classifying unknown multicast as +Subject: [PATCH 19/27] net: bridge: avoid classifying unknown multicast as mrouters_only Organization: Wires diff --git a/patches/linux/6.12.22/0020-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch b/patches/linux/6.12.23/0020-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch similarity index 90% rename from patches/linux/6.12.22/0020-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch rename to patches/linux/6.12.23/0020-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch index 3b31eaf6..c64a216e 100644 --- a/patches/linux/6.12.22/0020-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch +++ b/patches/linux/6.12.23/0020-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch @@ -1,7 +1,7 @@ -From f759e64aea4262f0744a3b8b7dee9c70bb3839c4 Mon Sep 17 00:00:00 2001 +From 91d101863365ef759c6101674881c7d21130b24b Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 5 Mar 2024 06:44:41 +0100 -Subject: [PATCH 20/28] net: bridge: Ignore router ports when forwarding L2 +Subject: [PATCH 20/27] net: bridge: Ignore router ports when forwarding L2 multicast Organization: Wires diff --git a/patches/linux/6.12.22/0021-net-bridge-drop-delay-for-applying-strict-multicast-.patch b/patches/linux/6.12.23/0021-net-bridge-drop-delay-for-applying-strict-multicast-.patch similarity index 98% rename from patches/linux/6.12.22/0021-net-bridge-drop-delay-for-applying-strict-multicast-.patch rename to patches/linux/6.12.23/0021-net-bridge-drop-delay-for-applying-strict-multicast-.patch index bb035996..c7a5bd1f 100644 --- a/patches/linux/6.12.22/0021-net-bridge-drop-delay-for-applying-strict-multicast-.patch +++ b/patches/linux/6.12.23/0021-net-bridge-drop-delay-for-applying-strict-multicast-.patch @@ -1,7 +1,7 @@ -From eef84ce9cb63463b59239eb0cd352bc829b99605 Mon Sep 17 00:00:00 2001 +From e22d99445476933f9a2da0e825d8a0da62af0c20 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 4 Apr 2024 16:36:30 +0200 -Subject: [PATCH 21/28] net: bridge: drop delay for applying strict multicast +Subject: [PATCH 21/27] net: bridge: drop delay for applying strict multicast filtering Organization: Wires diff --git a/patches/linux/6.12.22/0022-net-bridge-Differentiate-MDB-additions-from-modifica.patch b/patches/linux/6.12.23/0022-net-bridge-Differentiate-MDB-additions-from-modifica.patch similarity index 96% rename from patches/linux/6.12.22/0022-net-bridge-Differentiate-MDB-additions-from-modifica.patch rename to patches/linux/6.12.23/0022-net-bridge-Differentiate-MDB-additions-from-modifica.patch index 2bddf6da..983f0f58 100644 --- a/patches/linux/6.12.22/0022-net-bridge-Differentiate-MDB-additions-from-modifica.patch +++ b/patches/linux/6.12.23/0022-net-bridge-Differentiate-MDB-additions-from-modifica.patch @@ -1,7 +1,7 @@ -From b6d5faea067b67dae8983ca116112a2b86cd0e9b Mon Sep 17 00:00:00 2001 +From 69a5b99e93002daa2a65574677c9ab595f3c8b8d Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 16 May 2024 14:51:54 +0200 -Subject: [PATCH 22/28] net: bridge: Differentiate MDB additions from +Subject: [PATCH 22/27] net: bridge: Differentiate MDB additions from modifications Organization: Wires diff --git a/patches/linux/6.12.22/0023-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch b/patches/linux/6.12.23/0023-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch similarity index 92% rename from patches/linux/6.12.22/0023-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch rename to patches/linux/6.12.23/0023-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch index d373c374..79fd05b3 100644 --- a/patches/linux/6.12.22/0023-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch +++ b/patches/linux/6.12.23/0023-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch @@ -1,7 +1,7 @@ -From 094213f7f29c8a39e4a4524b67e3e40c338b5a7b Mon Sep 17 00:00:00 2001 +From 55ff4511898852f9408c5ccab8082f1b03f697a4 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 24 Nov 2023 23:29:55 +0100 -Subject: [PATCH 23/28] nvmem: layouts: onie-tlv: Let device probe even when +Subject: [PATCH 23/27] nvmem: layouts: onie-tlv: Let device probe even when TLV is invalid Organization: Wires diff --git a/patches/linux/6.12.22/0024-usb-core-adjust-log-level-for-unauthorized-devices.patch b/patches/linux/6.12.23/0024-usb-core-adjust-log-level-for-unauthorized-devices.patch similarity index 93% rename from patches/linux/6.12.22/0024-usb-core-adjust-log-level-for-unauthorized-devices.patch rename to patches/linux/6.12.23/0024-usb-core-adjust-log-level-for-unauthorized-devices.patch index 14585ae2..34c3110a 100644 --- a/patches/linux/6.12.22/0024-usb-core-adjust-log-level-for-unauthorized-devices.patch +++ b/patches/linux/6.12.23/0024-usb-core-adjust-log-level-for-unauthorized-devices.patch @@ -1,7 +1,7 @@ -From ca424b04e9a753cfeb3a92d080a595fc28498fac Mon Sep 17 00:00:00 2001 +From 950e326ed789709260dbe9f139ebcec264889048 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 29 Apr 2024 15:14:51 +0200 -Subject: [PATCH 24/28] usb: core: adjust log level for unauthorized devices +Subject: [PATCH 24/27] usb: core: adjust log level for unauthorized devices Organization: Wires The fact that a USB device currently is not authorized is not an error, diff --git a/patches/linux/6.12.22/0025-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch b/patches/linux/6.12.23/0025-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch similarity index 91% rename from patches/linux/6.12.22/0025-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch rename to patches/linux/6.12.23/0025-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch index 6207950f..7c93f15f 100644 --- a/patches/linux/6.12.22/0025-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch +++ b/patches/linux/6.12.23/0025-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch @@ -1,7 +1,7 @@ -From 569890f4ecbbd756e1d018407e1d97d98117c460 Mon Sep 17 00:00:00 2001 +From 6229922ab3d1a414dfbbc8b3d13eaf10136b9e68 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 16 Jan 2025 12:35:12 +0100 -Subject: [PATCH 25/28] net: dsa: mv88e6xxx: collapse disabled state into +Subject: [PATCH 25/27] net: dsa: mv88e6xxx: collapse disabled state into blocking Organization: Wires diff --git a/patches/linux/6.12.22/0026-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch b/patches/linux/6.12.23/0026-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch similarity index 96% rename from patches/linux/6.12.22/0026-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch rename to patches/linux/6.12.23/0026-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch index 3f66c39d..b8aacf1e 100644 --- a/patches/linux/6.12.22/0026-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch +++ b/patches/linux/6.12.23/0026-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch @@ -1,7 +1,7 @@ -From 415473236cee34dc39da4ba25a1c1c006838164c Mon Sep 17 00:00:00 2001 +From fff392ae3166cc2afa80f3eca6066fa21eb6e28e Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 12 Feb 2025 22:03:14 +0100 -Subject: [PATCH 26/28] net: dsa: mv88e6xxx: Only activate LAG offloading when +Subject: [PATCH 26/27] net: dsa: mv88e6xxx: Only activate LAG offloading when bridged Organization: Wires @@ -51,7 +51,7 @@ CPU; egress traffic always relies on software hashing. 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index 30f8a5388733..c1f8adaa008a 100644 +index 41f3223313d0..7bee935fd40f 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -3095,6 +3095,7 @@ static int mv88e6xxx_port_bridge_join(struct dsa_switch *ds, int port, diff --git a/patches/linux/6.12.22/0028-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch b/patches/linux/6.12.23/0027-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch similarity index 91% rename from patches/linux/6.12.22/0028-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch rename to patches/linux/6.12.23/0027-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch index 61782bec..d6e20823 100644 --- a/patches/linux/6.12.22/0028-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch +++ b/patches/linux/6.12.23/0027-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch @@ -1,7 +1,7 @@ -From 8b8e0be081bb6a56f1697bc67af61f73753acd03 Mon Sep 17 00:00:00 2001 +From 2eb2c9c7eaca24788cf448b151424a347c8ddf98 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 11 Aug 2024 11:27:35 +0200 -Subject: [PATCH 28/28] net: usb: r8152: add r8153b support for link/activity +Subject: [PATCH 27/27] net: usb: r8152: add r8153b support for link/activity LEDs Organization: Wires diff --git a/patches/linux/linux.hash b/patches/linux/linux.hash index df97ba41..a4c5a29c 100644 --- a/patches/linux/linux.hash +++ b/patches/linux/linux.hash @@ -1,2 +1,2 @@ # Calculated with ../utils/kernel-refresh.sh -sha256 ab48800ab49985a78d2318ae8ac5f28fd3e123ea17357ef21498105a53337336 linux-6.12.22.tar.xz +sha256 d8d95404f8deeb7ff6992c0df855025062e9e8182bca6daa27ef2e9275d27749 linux-6.12.23.tar.xz