net: dsa: Skip calling .port_vlan_filtering on no change
Even if VLAN filtering is global, DSA will call this callback once per each port. Drivers should not have to compare the global state with the requested change. So let DSA do it. Signed-off-by: Vladimir Oltean <olteanv@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2a1305515b
commit
ec9121e7d2
|
@ -203,6 +203,9 @@ int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering,
|
|||
if (!dsa_port_can_apply_vlan_filtering(dp, vlan_filtering))
|
||||
return -EINVAL;
|
||||
|
||||
if (dsa_port_is_vlan_filtering(dp) == vlan_filtering)
|
||||
return 0;
|
||||
|
||||
err = ds->ops->port_vlan_filtering(ds, dp->index,
|
||||
vlan_filtering);
|
||||
if (err)
|
||||
|
|
Loading…
Reference in New Issue