]> git.baikalelectronics.ru Git - kernel.git/commit
net: dsa: microchip: ksz8795: Fix VLAN untagged flag change on deletion
authorBen Hutchings <ben.hutchings@mind.be>
Mon, 9 Aug 2021 22:59:47 +0000 (00:59 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 10 Aug 2021 08:58:15 +0000 (09:58 +0100)
commite346bc7e9ab89e61e24f0982b9efaa2f5f31c780
tree008ba16d7ac2b1323a50a4213903b5a5a52ec012
parenta6f1db89659d732a9ac232f64225c656fd911470
net: dsa: microchip: ksz8795: Fix VLAN untagged flag change on deletion

When a VLAN is deleted from a port, the flags in struct
switchdev_obj_port_vlan are always 0.  ksz8_port_vlan_del() copies the
BRIDGE_VLAN_INFO_UNTAGGED flag to the port's Tag Removal flag, and
therefore always clears it.

In case there are multiple VLANs configured as untagged on this port -
which seems useless, but is allowed - deleting one of them changes the
remaining VLANs to be tagged.

It's only ever necessary to change this flag when a VLAN is added to
the port, so leave it unchanged in ksz8_port_vlan_del().

Fixes: f43f531406fa ("net: dsa: ksz: Add Microchip KSZ8795 DSA driver")
Signed-off-by: Ben Hutchings <ben.hutchings@mind.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/microchip/ksz8795.c