mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 22:50:41 +00:00
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: d0004a020bb5 ("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…
x
Reference in New Issue
Block a user