Commit 13b152ae authored by Jonas Gorski's avatar Jonas Gorski Committed by Jakub Kicinski
Browse files

net: dsa: b53: always rejoin default untagged VLAN on bridge leave



While JOIN_ALL_VLAN allows to join all VLANs, we still need to keep the
default VLAN enabled so that untagged traffic stays untagged.

So rejoin the default VLAN even for switches with JOIN_ALL_VLAN support.

Fixes: 48aea33a ("net: dsa: b53: Add JOIN_ALL_VLAN support")
Signed-off-by: default avatarJonas Gorski <jonas.gorski@gmail.com>
Tested-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20250429201710.330937-7-jonas.gorski@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent a1c1901c
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -2021,13 +2021,13 @@ void b53_br_leave(struct dsa_switch *ds, int port, struct dsa_bridge bridge)
		if (!(reg & BIT(cpu_port)))
			reg |= BIT(cpu_port);
		b53_write16(dev, B53_VLAN_PAGE, B53_JOIN_ALL_VLAN_EN, reg);
	} else {
	}

	b53_get_vlan_entry(dev, pvid, vl);
	vl->members |= BIT(port) | BIT(cpu_port);
	vl->untag |= BIT(port) | BIT(cpu_port);
	b53_set_vlan_entry(dev, pvid, vl);
}
}
EXPORT_SYMBOL(b53_br_leave);

void b53_br_set_stp_state(struct dsa_switch *ds, int port, u8 state)