net: dsa: fix dsa_port_vlan_filtering when global
The blamed refactoring commit changed a "port" iterator with "other_dp",
but still looked at the slave_dev of the dp outside the loop, instead of
other_dp->slave from the loop.
As a result, dsa_port_vlan_filtering() would not call
dsa_slave_manage_vlan_filtering() except for the port in cause, and not
for all switch ports as expected.
Fixes: d0004a020b
("net: dsa: remove the "dsa_to_port in a loop" antipattern from the core")
Reported-by: Lucian Banu <Lucian.Banu@westermo.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
1e53834ce5
commit
4db2a5ef4c
|
@ -799,7 +799,7 @@ int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering,
|
|||
ds->vlan_filtering = vlan_filtering;
|
||||
|
||||
dsa_switch_for_each_user_port(other_dp, ds) {
|
||||
struct net_device *slave = dp->slave;
|
||||
struct net_device *slave = other_dp->slave;
|
||||
|
||||
/* We might be called in the unbind path, so not
|
||||
* all slave devices might still be registered.
|
||||
|
|
Loading…
Reference in New Issue