]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.12-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Apr 2025 13:24:53 +0000 (15:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Apr 2025 13:24:53 +0000 (15:24 +0200)
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

queue-6.12/net-dsa-mv88e6xxx-enable-.port_set_policy-for-6320-family.patch [new file with mode: 0644]
queue-6.12/net-dsa-mv88e6xxx-enable-pvt-for-6321-switch.patch [new file with mode: 0644]
queue-6.12/net-dsa-mv88e6xxx-enable-stu-methods-for-6320-family.patch [new file with mode: 0644]
queue-6.12/net-dsa-mv88e6xxx-fix-atu_move_port_mask-for-6341-family.patch [new file with mode: 0644]
queue-6.12/revert-net-dsa-mv88e6xxx-fix-internal-phys-for-6320-family.patch [new file with mode: 0644]
queue-6.12/series
queue-6.12/usb-typec-class-invalidate-usb-device-pointers-on-partner-unregistration.patch [new file with mode: 0644]

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 (file)
index 0000000..a5f96fd
--- /dev/null
@@ -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" <kabel@kernel.org>
+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 <sashal@kernel.org>
+Cc: "Andrew Lunn" <andrew@lunn.ch>, "Vladimir Oltean" <olteanv@gmail.com>, "Eric Dumazet" <edumazet@google.com>, "Marek Behún" <kabel@kernel.org>, "Jakub Kicinski" <kuba@kernel.org>
+Message-ID: <20250429100818.17101-4-kabel@kernel.org>
+
+From: "Marek Behún" <kabel@kernel.org>
+
+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 <kabel@kernel.org>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Link: https://patch.msgid.link/20250317173250.28780-5-kabel@kernel.org
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..5339e0d
--- /dev/null
@@ -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" <kabel@kernel.org>
+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 <sashal@kernel.org>
+Cc: "Andrew Lunn" <andrew@lunn.ch>, "Vladimir Oltean" <olteanv@gmail.com>, "Eric Dumazet" <edumazet@google.com>, "Marek Behún" <kabel@kernel.org>, "Jakub Kicinski" <kuba@kernel.org>
+Message-ID: <20250429100818.17101-3-kabel@kernel.org>
+
+From: "Marek Behún" <kabel@kernel.org>
+
+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 <kabel@kernel.org>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Link: https://patch.msgid.link/20250317173250.28780-4-kabel@kernel.org
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..30bb777
--- /dev/null
@@ -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" <kabel@kernel.org>
+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 <sashal@kernel.org>
+Cc: "Andrew Lunn" <andrew@lunn.ch>, "Vladimir Oltean" <olteanv@gmail.com>, "Eric Dumazet" <edumazet@google.com>, "Marek Behún" <kabel@kernel.org>, "Jakub Kicinski" <kuba@kernel.org>
+Message-ID: <20250429100818.17101-5-kabel@kernel.org>
+
+From: "Marek Behún" <kabel@kernel.org>
+
+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 <kabel@kernel.org>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Link: https://patch.msgid.link/20250317173250.28780-6-kabel@kernel.org
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..3c5e43d
--- /dev/null
@@ -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" <kabel@kernel.org>
+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 <sashal@kernel.org>
+Cc: "Andrew Lunn" <andrew@lunn.ch>, "Vladimir Oltean" <olteanv@gmail.com>, "Eric Dumazet" <edumazet@google.com>, "Marek Behún" <kabel@kernel.org>, "Jakub Kicinski" <kuba@kernel.org>
+Message-ID: <20250429100818.17101-2-kabel@kernel.org>
+
+From: "Marek Behún" <kabel@kernel.org>
+
+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 <kabel@kernel.org>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Link: https://patch.msgid.link/20250317173250.28780-3-kabel@kernel.org
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..028fe99
--- /dev/null
@@ -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" <kabel@kernel.org>
+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 <sashal@kernel.org>
+Cc: "Andrew Lunn" <andrew@lunn.ch>, "Vladimir Oltean" <olteanv@gmail.com>, "Eric Dumazet" <edumazet@google.com>, "Marek Behún" <kabel@kernel.org>
+Message-ID: <20250429100818.17101-1-kabel@kernel.org>
+
+From: "Marek Behún" <kabel@kernel.org>
+
+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 <kabel@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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,
index a2cb2917c0bd048e42e56a7797dddc6299c981fb..8fe9097f0b5efcd1f8c9fe4f25f530e9dbac4a11 100644 (file)
@@ -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 (file)
index 0000000..ef5b061
--- /dev/null
@@ -0,0 +1,43 @@
+From 66e1a887273c6b89f09bc11a40d0a71d5a081a8e Mon Sep 17 00:00:00 2001
+From: Andrei Kuchynski <akuchynski@chromium.org>
+Date: Fri, 21 Mar 2025 14:37:27 +0000
+Subject: usb: typec: class: Invalidate USB device pointers on partner unregistration
+
+From: Andrei Kuchynski <akuchynski@chromium.org>
+
+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 <akuchynski@chromium.org>
+Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
+Reviewed-by: Benson Leung <bleung@chromium.org>
+Link: https://lore.kernel.org/r/20250321143728.4092417-3-akuchynski@chromium.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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);