From 17c100b15917bd4cdf260c161f1ab8a05b22ce1b Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 29 Apr 2025 15:24:53 +0200 Subject: [PATCH] 6.12-stable patches added patches: net-dsa-mv88e6xxx-enable-.port_set_policy-for-6320-family.patch net-dsa-mv88e6xxx-enable-pvt-for-6321-switch.patch net-dsa-mv88e6xxx-enable-stu-methods-for-6320-family.patch net-dsa-mv88e6xxx-fix-atu_move_port_mask-for-6341-family.patch revert-net-dsa-mv88e6xxx-fix-internal-phys-for-6320-family.patch usb-typec-class-invalidate-usb-device-pointers-on-partner-unregistration.patch --- ...ble-.port_set_policy-for-6320-family.patch | 43 +++++++++++++ ...mv88e6xxx-enable-pvt-for-6321-switch.patch | 35 +++++++++++ ...x-enable-stu-methods-for-6320-family.patch | 62 +++++++++++++++++++ ...x-atu_move_port_mask-for-6341-family.patch | 45 ++++++++++++++ ...xx-fix-internal-phys-for-6320-family.patch | 44 +++++++++++++ queue-6.12/series | 6 ++ ...e-pointers-on-partner-unregistration.patch | 43 +++++++++++++ 7 files changed, 278 insertions(+) create mode 100644 queue-6.12/net-dsa-mv88e6xxx-enable-.port_set_policy-for-6320-family.patch create mode 100644 queue-6.12/net-dsa-mv88e6xxx-enable-pvt-for-6321-switch.patch create mode 100644 queue-6.12/net-dsa-mv88e6xxx-enable-stu-methods-for-6320-family.patch create mode 100644 queue-6.12/net-dsa-mv88e6xxx-fix-atu_move_port_mask-for-6341-family.patch create mode 100644 queue-6.12/revert-net-dsa-mv88e6xxx-fix-internal-phys-for-6320-family.patch create mode 100644 queue-6.12/usb-typec-class-invalidate-usb-device-pointers-on-partner-unregistration.patch diff --git a/queue-6.12/net-dsa-mv88e6xxx-enable-.port_set_policy-for-6320-family.patch b/queue-6.12/net-dsa-mv88e6xxx-enable-.port_set_policy-for-6320-family.patch new file mode 100644 index 0000000000..a5f96fdc21 --- /dev/null +++ b/queue-6.12/net-dsa-mv88e6xxx-enable-.port_set_policy-for-6320-family.patch @@ -0,0 +1,43 @@ +From stable+bounces-137027-greg=kroah.com@vger.kernel.org Tue Apr 29 12:08:39 2025 +From: "Marek Behún" +Date: Tue, 29 Apr 2025 12:08:17 +0200 +Subject: net: dsa: mv88e6xxx: enable .port_set_policy() for 6320 family +To: stable@vger.kernel.org, Sasha Levin +Cc: "Andrew Lunn" , "Vladimir Oltean" , "Eric Dumazet" , "Marek Behún" , "Jakub Kicinski" +Message-ID: <20250429100818.17101-4-kabel@kernel.org> + +From: "Marek Behún" + +commit a2ef58e2c4aea4de166fc9832eb2b621e88c98d5 upstream. + +Commit f3a2cd326e44 ("net: dsa: mv88e6xxx: introduce .port_set_policy") +did not add the .port_set_policy() method for the 6320 family. Fix it. + +Fixes: f3a2cd326e44 ("net: dsa: mv88e6xxx: introduce .port_set_policy") +Signed-off-by: Marek Behún +Reviewed-by: Andrew Lunn +Link: https://patch.msgid.link/20250317173250.28780-5-kabel@kernel.org +Signed-off-by: Jakub Kicinski +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/dsa/mv88e6xxx/chip.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/net/dsa/mv88e6xxx/chip.c ++++ b/drivers/net/dsa/mv88e6xxx/chip.c +@@ -5186,6 +5186,7 @@ static const struct mv88e6xxx_ops mv88e6 + .port_set_rgmii_delay = mv88e6320_port_set_rgmii_delay, + .port_set_speed_duplex = mv88e6185_port_set_speed_duplex, + .port_tag_remap = mv88e6095_port_tag_remap, ++ .port_set_policy = mv88e6352_port_set_policy, + .port_set_frame_mode = mv88e6351_port_set_frame_mode, + .port_set_ucast_flood = mv88e6352_port_set_ucast_flood, + .port_set_mcast_flood = mv88e6352_port_set_mcast_flood, +@@ -5236,6 +5237,7 @@ static const struct mv88e6xxx_ops mv88e6 + .port_set_rgmii_delay = mv88e6320_port_set_rgmii_delay, + .port_set_speed_duplex = mv88e6185_port_set_speed_duplex, + .port_tag_remap = mv88e6095_port_tag_remap, ++ .port_set_policy = mv88e6352_port_set_policy, + .port_set_frame_mode = mv88e6351_port_set_frame_mode, + .port_set_ucast_flood = mv88e6352_port_set_ucast_flood, + .port_set_mcast_flood = mv88e6352_port_set_mcast_flood, diff --git a/queue-6.12/net-dsa-mv88e6xxx-enable-pvt-for-6321-switch.patch b/queue-6.12/net-dsa-mv88e6xxx-enable-pvt-for-6321-switch.patch new file mode 100644 index 0000000000..5339e0db5a --- /dev/null +++ b/queue-6.12/net-dsa-mv88e6xxx-enable-pvt-for-6321-switch.patch @@ -0,0 +1,35 @@ +From stable+bounces-137026-greg=kroah.com@vger.kernel.org Tue Apr 29 12:08:34 2025 +From: "Marek Behún" +Date: Tue, 29 Apr 2025 12:08:16 +0200 +Subject: net: dsa: mv88e6xxx: enable PVT for 6321 switch +To: stable@vger.kernel.org, Sasha Levin +Cc: "Andrew Lunn" , "Vladimir Oltean" , "Eric Dumazet" , "Marek Behún" , "Jakub Kicinski" +Message-ID: <20250429100818.17101-3-kabel@kernel.org> + +From: "Marek Behún" + +commit f85c69369854a43af2c5d3b3896da0908d713133 upstream. + +Commit f36456522168 ("net: dsa: mv88e6xxx: move PVT description in +info") did not enable PVT for 6321 switch. Fix it. + +Fixes: f36456522168 ("net: dsa: mv88e6xxx: move PVT description in info") +Signed-off-by: Marek Behún +Reviewed-by: Andrew Lunn +Link: https://patch.msgid.link/20250317173250.28780-4-kabel@kernel.org +Signed-off-by: Jakub Kicinski +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/dsa/mv88e6xxx/chip.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/net/dsa/mv88e6xxx/chip.c ++++ b/drivers/net/dsa/mv88e6xxx/chip.c +@@ -6289,6 +6289,7 @@ static const struct mv88e6xxx_info mv88e + .g1_irqs = 8, + .g2_irqs = 10, + .atu_move_port_mask = 0xf, ++ .pvt = true, + .multi_chip = true, + .edsa_support = MV88E6XXX_EDSA_SUPPORTED, + .ptp_support = true, diff --git a/queue-6.12/net-dsa-mv88e6xxx-enable-stu-methods-for-6320-family.patch b/queue-6.12/net-dsa-mv88e6xxx-enable-stu-methods-for-6320-family.patch new file mode 100644 index 0000000000..30bb77772a --- /dev/null +++ b/queue-6.12/net-dsa-mv88e6xxx-enable-stu-methods-for-6320-family.patch @@ -0,0 +1,62 @@ +From stable+bounces-137028-greg=kroah.com@vger.kernel.org Tue Apr 29 12:09:08 2025 +From: "Marek Behún" +Date: Tue, 29 Apr 2025 12:08:18 +0200 +Subject: net: dsa: mv88e6xxx: enable STU methods for 6320 family +To: stable@vger.kernel.org, Sasha Levin +Cc: "Andrew Lunn" , "Vladimir Oltean" , "Eric Dumazet" , "Marek Behún" , "Jakub Kicinski" +Message-ID: <20250429100818.17101-5-kabel@kernel.org> + +From: "Marek Behún" + +commit 1428a6109b20e356188c3fb027bdb7998cc2fb98 upstream. + +Commit c050f5e91b47 ("net: dsa: mv88e6xxx: Fill in STU support for all +supported chips") introduced STU methods, but did not add them to the +6320 family. Fix it. + +Fixes: c050f5e91b47 ("net: dsa: mv88e6xxx: Fill in STU support for all supported chips") +Signed-off-by: Marek Behún +Reviewed-by: Andrew Lunn +Link: https://patch.msgid.link/20250317173250.28780-6-kabel@kernel.org +Signed-off-by: Jakub Kicinski +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/dsa/mv88e6xxx/chip.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/drivers/net/dsa/mv88e6xxx/chip.c ++++ b/drivers/net/dsa/mv88e6xxx/chip.c +@@ -5213,6 +5213,8 @@ static const struct mv88e6xxx_ops mv88e6 + .reset = mv88e6352_g1_reset, + .vtu_getnext = mv88e6352_g1_vtu_getnext, + .vtu_loadpurge = mv88e6352_g1_vtu_loadpurge, ++ .stu_getnext = mv88e6352_g1_stu_getnext, ++ .stu_loadpurge = mv88e6352_g1_stu_loadpurge, + .gpio_ops = &mv88e6352_gpio_ops, + .avb_ops = &mv88e6352_avb_ops, + .ptp_ops = &mv88e6352_ptp_ops, +@@ -5263,6 +5265,8 @@ static const struct mv88e6xxx_ops mv88e6 + .reset = mv88e6352_g1_reset, + .vtu_getnext = mv88e6352_g1_vtu_getnext, + .vtu_loadpurge = mv88e6352_g1_vtu_loadpurge, ++ .stu_getnext = mv88e6352_g1_stu_getnext, ++ .stu_loadpurge = mv88e6352_g1_stu_loadpurge, + .gpio_ops = &mv88e6352_gpio_ops, + .avb_ops = &mv88e6352_avb_ops, + .ptp_ops = &mv88e6352_ptp_ops, +@@ -6258,6 +6262,7 @@ static const struct mv88e6xxx_info mv88e + .num_internal_phys = 5, + .num_gpio = 15, + .max_vid = 4095, ++ .max_sid = 63, + .port_base_addr = 0x10, + .phy_base_addr = 0x0, + .global1_addr = 0x1b, +@@ -6283,6 +6288,7 @@ static const struct mv88e6xxx_info mv88e + .num_internal_phys = 5, + .num_gpio = 15, + .max_vid = 4095, ++ .max_sid = 63, + .port_base_addr = 0x10, + .phy_base_addr = 0x0, + .global1_addr = 0x1b, diff --git a/queue-6.12/net-dsa-mv88e6xxx-fix-atu_move_port_mask-for-6341-family.patch b/queue-6.12/net-dsa-mv88e6xxx-fix-atu_move_port_mask-for-6341-family.patch new file mode 100644 index 0000000000..3c5e43d540 --- /dev/null +++ b/queue-6.12/net-dsa-mv88e6xxx-fix-atu_move_port_mask-for-6341-family.patch @@ -0,0 +1,45 @@ +From stable+bounces-137025-greg=kroah.com@vger.kernel.org Tue Apr 29 12:09:05 2025 +From: "Marek Behún" +Date: Tue, 29 Apr 2025 12:08:15 +0200 +Subject: net: dsa: mv88e6xxx: fix atu_move_port_mask for 6341 family +To: stable@vger.kernel.org, Sasha Levin +Cc: "Andrew Lunn" , "Vladimir Oltean" , "Eric Dumazet" , "Marek Behún" , "Jakub Kicinski" +Message-ID: <20250429100818.17101-2-kabel@kernel.org> + +From: "Marek Behún" + +commit 4ae01ec007716986e1a20f1285eb013cbf188830 upstream. + +The atu_move_port_mask for 6341 family (Topaz) is 0xf, not 0x1f. The +PortVec field is 8 bits wide, not 11 as in 6390 family. Fix this. + +Fixes: e606ca36bbf2 ("net: dsa: mv88e6xxx: rework ATU Remove") +Signed-off-by: Marek Behún +Reviewed-by: Andrew Lunn +Link: https://patch.msgid.link/20250317173250.28780-3-kabel@kernel.org +Signed-off-by: Jakub Kicinski +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/dsa/mv88e6xxx/chip.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/net/dsa/mv88e6xxx/chip.c ++++ b/drivers/net/dsa/mv88e6xxx/chip.c +@@ -5852,7 +5852,7 @@ static const struct mv88e6xxx_info mv88e + .global1_addr = 0x1b, + .global2_addr = 0x1c, + .age_time_coeff = 3750, +- .atu_move_port_mask = 0x1f, ++ .atu_move_port_mask = 0xf, + .g1_irqs = 9, + .g2_irqs = 10, + .pvt = true, +@@ -6311,7 +6311,7 @@ static const struct mv88e6xxx_info mv88e + .global1_addr = 0x1b, + .global2_addr = 0x1c, + .age_time_coeff = 3750, +- .atu_move_port_mask = 0x1f, ++ .atu_move_port_mask = 0xf, + .g1_irqs = 9, + .g2_irqs = 10, + .pvt = true, diff --git a/queue-6.12/revert-net-dsa-mv88e6xxx-fix-internal-phys-for-6320-family.patch b/queue-6.12/revert-net-dsa-mv88e6xxx-fix-internal-phys-for-6320-family.patch new file mode 100644 index 0000000000..028fe99cad --- /dev/null +++ b/queue-6.12/revert-net-dsa-mv88e6xxx-fix-internal-phys-for-6320-family.patch @@ -0,0 +1,44 @@ +From stable+bounces-137024-greg=kroah.com@vger.kernel.org Tue Apr 29 12:09:04 2025 +From: "Marek Behún" +Date: Tue, 29 Apr 2025 12:08:14 +0200 +Subject: Revert "net: dsa: mv88e6xxx: fix internal PHYs for 6320 family" +To: stable@vger.kernel.org, Sasha Levin +Cc: "Andrew Lunn" , "Vladimir Oltean" , "Eric Dumazet" , "Marek Behún" +Message-ID: <20250429100818.17101-1-kabel@kernel.org> + +From: "Marek Behún" + +This reverts commit 2b27df6852444b76724f5d425826a38581d63407. + +For stable 6.12 it was misapplied to wrong entries of the +`mv88e6xxx_table` array: instead of the MV88E6320 and MV88E6321 entries +it was applied to the MV88E6240 and MV88E6352 entries. + +Signed-off-by: Marek Behún +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/dsa/mv88e6xxx/chip.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +--- a/drivers/net/dsa/mv88e6xxx/chip.c ++++ b/drivers/net/dsa/mv88e6xxx/chip.c +@@ -6182,8 +6182,7 @@ static const struct mv88e6xxx_info mv88e + .num_databases = 4096, + .num_macs = 8192, + .num_ports = 7, +- .num_internal_phys = 2, +- .internal_phys_offset = 3, ++ .num_internal_phys = 5, + .num_gpio = 15, + .max_vid = 4095, + .max_sid = 63, +@@ -6377,8 +6376,7 @@ static const struct mv88e6xxx_info mv88e + .num_databases = 4096, + .num_macs = 8192, + .num_ports = 7, +- .num_internal_phys = 2, +- .internal_phys_offset = 3, ++ .num_internal_phys = 5, + .num_gpio = 15, + .max_vid = 4095, + .max_sid = 63, diff --git a/queue-6.12/series b/queue-6.12/series index a2cb2917c0..8fe9097f0b 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -260,3 +260,9 @@ usb-typec-class-fix-null-pointer-access.patch vmxnet3-fix-malformed-packet-sizing-in-vmxnet3_process_xdp.patch comedi-jr3_pci-fix-synchronous-deletion-of-timer.patch ext4-goto-right-label-out_mmap_sem-in-ext4_setattr.patch +usb-typec-class-invalidate-usb-device-pointers-on-partner-unregistration.patch +revert-net-dsa-mv88e6xxx-fix-internal-phys-for-6320-family.patch +net-dsa-mv88e6xxx-fix-atu_move_port_mask-for-6341-family.patch +net-dsa-mv88e6xxx-enable-pvt-for-6321-switch.patch +net-dsa-mv88e6xxx-enable-.port_set_policy-for-6320-family.patch +net-dsa-mv88e6xxx-enable-stu-methods-for-6320-family.patch diff --git a/queue-6.12/usb-typec-class-invalidate-usb-device-pointers-on-partner-unregistration.patch b/queue-6.12/usb-typec-class-invalidate-usb-device-pointers-on-partner-unregistration.patch new file mode 100644 index 0000000000..ef5b06172c --- /dev/null +++ b/queue-6.12/usb-typec-class-invalidate-usb-device-pointers-on-partner-unregistration.patch @@ -0,0 +1,43 @@ +From 66e1a887273c6b89f09bc11a40d0a71d5a081a8e Mon Sep 17 00:00:00 2001 +From: Andrei Kuchynski +Date: Fri, 21 Mar 2025 14:37:27 +0000 +Subject: usb: typec: class: Invalidate USB device pointers on partner unregistration + +From: Andrei Kuchynski + +commit 66e1a887273c6b89f09bc11a40d0a71d5a081a8e upstream. + +To avoid using invalid USB device pointers after a Type-C partner +disconnects, this patch clears the pointers upon partner unregistration. +This ensures a clean state for future connections. + +Cc: stable@vger.kernel.org +Fixes: 59de2a56d127 ("usb: typec: Link enumerated USB devices with Type-C partner") +Signed-off-by: Andrei Kuchynski +Reviewed-by: Heikki Krogerus +Reviewed-by: Benson Leung +Link: https://lore.kernel.org/r/20250321143728.4092417-3-akuchynski@chromium.org +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/typec/class.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- a/drivers/usb/typec/class.c ++++ b/drivers/usb/typec/class.c +@@ -966,10 +966,14 @@ void typec_unregister_partner(struct typ + port = to_typec_port(partner->dev.parent); + + mutex_lock(&port->partner_link_lock); +- if (port->usb2_dev) ++ if (port->usb2_dev) { + typec_partner_unlink_device(partner, port->usb2_dev); +- if (port->usb3_dev) ++ port->usb2_dev = NULL; ++ } ++ if (port->usb3_dev) { + typec_partner_unlink_device(partner, port->usb3_dev); ++ port->usb3_dev = NULL; ++ } + + device_unregister(&partner->dev); + mutex_unlock(&port->partner_link_lock); -- 2.47.3