diff mbox series

[net] net: dsa: b53: Always use dev->vlan_enabled in b53_configure_vlan()

Message ID 20200206190745.24032-1-f.fainelli@gmail.com
State Accepted
Delegated to: David Miller
Headers show
Series [net] net: dsa: b53: Always use dev->vlan_enabled in b53_configure_vlan() | expand

Commit Message

Florian Fainelli Feb. 6, 2020, 7:07 p.m. UTC
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>
---
 drivers/net/dsa/b53/b53_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Miller Feb. 7, 2020, 10:27 a.m. UTC | #1
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Thu,  6 Feb 2020 11:07:45 -0800

> 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>

Applied and queued up for -stable.
diff mbox series

Patch

diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c
index 060497512159..449a22172e07 100644
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
@@ -693,7 +693,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,