[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250313134146.27087-3-kabel@kernel.org>
Date: Thu, 13 Mar 2025 14:41:35 +0100
From: Marek Behún <kabel@...nel.org>
To: Andrew Lunn <andrew@...n.ch>,
Vladimir Oltean <olteanv@...il.com>,
"Russell King (Oracle)" <rmk+kernel@...linux.org.uk>,
Vivien Didelot <vivien.didelot@...il.com>,
Tobias Waldekranz <tobias@...dekranz.com>,
netdev@...r.kernel.org
Cc: Lev Olshvang <lev_o@....com>,
Marek Behún <kabel@...nel.org>
Subject: [PATCH net 02/13] net: dsa: mv88e6xxx: fix VTU methods for 6320 family
The VTU registers of the 6320 family use the 6352 semantics, not 6185.
Fix it.
Fixes: b8fee9571063 ("net: dsa: mv88e6xxx: add VLAN Get Next support")
Signed-off-by: Marek Behún <kabel@...nel.org>
---
This bug goes way back to 2015 to commit b8fee9571063 ("net: dsa:
mv88e6xxx: add VLAN Get Next support") where mv88e6xxx_vtu_getnext() was
first implemented: the check for whether the switch has STU did not
contain the 6320 family.
Therefore I put that commit into the Fixes tag.
But the driver was heavily refactored since then, and the actual commits
that this patch depends on are
f1394b78a602 ("net: dsa: mv88e6xxx: add VTU GetNext operation")
0ad5daf6ba80 ("net: dsa: mv88e6xxx: add VTU Load/Purge operation")
But I don't know how to declare it properly.
Using the "Cc: stable" method with these commits tagged would mean they
should be cherry-picked, but these commits in turn depend on other
changes in the driver.
---
drivers/net/dsa/mv88e6xxx/chip.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index 99d8d438e465..aa8ebe9d6bdc 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -5164,8 +5164,8 @@ static const struct mv88e6xxx_ops mv88e6320_ops = {
.hardware_reset_pre = mv88e6xxx_g2_eeprom_wait,
.hardware_reset_post = mv88e6xxx_g2_eeprom_wait,
.reset = mv88e6352_g1_reset,
- .vtu_getnext = mv88e6185_g1_vtu_getnext,
- .vtu_loadpurge = mv88e6185_g1_vtu_loadpurge,
+ .vtu_getnext = mv88e6352_g1_vtu_getnext,
+ .vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
.gpio_ops = &mv88e6352_gpio_ops,
.avb_ops = &mv88e6352_avb_ops,
.ptp_ops = &mv88e6352_ptp_ops,
@@ -5212,8 +5212,8 @@ static const struct mv88e6xxx_ops mv88e6321_ops = {
.hardware_reset_pre = mv88e6xxx_g2_eeprom_wait,
.hardware_reset_post = mv88e6xxx_g2_eeprom_wait,
.reset = mv88e6352_g1_reset,
- .vtu_getnext = mv88e6185_g1_vtu_getnext,
- .vtu_loadpurge = mv88e6185_g1_vtu_loadpurge,
+ .vtu_getnext = mv88e6352_g1_vtu_getnext,
+ .vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
.gpio_ops = &mv88e6352_gpio_ops,
.avb_ops = &mv88e6352_avb_ops,
.ptp_ops = &mv88e6352_ptp_ops,
--
2.48.1
Powered by blists - more mailing lists