]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: dsa: mt7530: sync driver-specific behavior of MT7531 variants
authorDaniel Golle <daniel@makrotopia.org>
Tue, 22 Apr 2025 03:10:20 +0000 (04:10 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 24 Apr 2025 01:46:03 +0000 (18:46 -0700)
MT7531 standalone and MMIO variants found in MT7988 and EN7581 share
most basic properties. Despite that, assisted_learning_on_cpu_port and
mtu_enforcement_ingress were only applied for MT7531 but not for MT7988
or EN7581, causing the expected issues on MMIO devices.

Apply both settings equally also for MT7988 and EN7581 by moving both
assignments form mt7531_setup() to mt7531_setup_common().

This fixes unwanted flooding of packets due to unknown unicast
during DA lookup, as well as issues with heterogenous MTU settings.

Fixes: 7f54cc9772ce ("net: dsa: mt7530: split-off common parts from mt7531_setup")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Chester A. Unal <chester.a.unal@arinc9.com>
Link: https://patch.msgid.link/89ed7ec6d4fa0395ac53ad2809742bb1ce61ed12.1745290867.git.daniel@makrotopia.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/mt7530.c

index d70399bce5b9ee12f80a326d03cd29c8c168ba42..c5d6628d79807567773225851f7544b49f86bfcb 100644 (file)
@@ -2419,6 +2419,9 @@ mt7531_setup_common(struct dsa_switch *ds)
        struct mt7530_priv *priv = ds->priv;
        int ret, i;
 
+       ds->assisted_learning_on_cpu_port = true;
+       ds->mtu_enforcement_ingress = true;
+
        mt753x_trap_frames(priv);
 
        /* Enable and reset MIB counters */
@@ -2571,9 +2574,6 @@ mt7531_setup(struct dsa_switch *ds)
        if (ret)
                return ret;
 
-       ds->assisted_learning_on_cpu_port = true;
-       ds->mtu_enforcement_ingress = true;
-
        return 0;
 }