diff --git a/net/dsa/port.c b/net/dsa/port.c index c27c16b69ab6..aa7ec043d5ba 100644 --- a/net/dsa/port.c +++ b/net/dsa/port.c @@ -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)