--- /dev/null
+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,
--- /dev/null
+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,
--- /dev/null
+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,
--- /dev/null
+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,
--- /dev/null
+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,
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
--- /dev/null
+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);