net: dsa: b53: Always use dev->vlan_enabled in b53_configure_vlan()
authorFlorian Fainelli <f.fainelli@gmail.com>
Thu, 6 Feb 2020 19:07:45 +0000 (11:07 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Feb 2020 12:35:48 +0000 (04:35 -0800)
[ Upstream commit df373702bc0f8f2d83980ea441e71639fc1efcf8 ]

b53_configure_vlan() is called by the bcm_sf2 driver upon setup and
indirectly through resume as well. During the initial setup, we are
guaranteed that dev->vlan_enabled is false, so there is no change in
behavior, however during suspend, we may have enabled VLANs before, so we
do want to restore that setting.

Fixes: dad8d7c6452b ("net: dsa: b53: Properly account for VLAN filtering")
Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/dsa/b53/b53_common.c

index a7132c1..7ed667b 100644 (file)
@@ -680,7 +680,7 @@ int b53_configure_vlan(struct dsa_switch *ds)
                b53_do_vlan_op(dev, VTA_CMD_CLEAR);
        }
 
-       b53_enable_vlan(dev, false, ds->vlan_filtering);
+       b53_enable_vlan(dev, dev->vlan_enabled, ds->vlan_filtering);
 
        b53_for_each_port(dev, i)
                b53_write16(dev, B53_VLAN_PAGE,