Message ID | 20211223140113.1954778-1-horatiu.vultur@microchip.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 0c94d657d2a416c861df4789fd310f09f5dfad59 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] net: lan966x: Fix the vlan used by host ports | expand |
Hello: This patch was applied to netdev/net-next.git (master) by David S. Miller <davem@davemloft.net>: On Thu, 23 Dec 2021 15:01:13 +0100 you wrote: > The blamed commit changed the vlan used by the host ports to be 4095 > instead of 0. > Because of this change the following issues are seen: > - when the port is probed first it was adding an entry in the MAC table > with the wrong vlan (port->pvid which is default 0) and not HOST_PVID > - when the port is removed from a bridge, it was using the wrong vlan to > add entries in the MAC table. It was using the old PVID and not the > HOST_PVID > > [...] Here is the summary with links: - [net-next] net: lan966x: Fix the vlan used by host ports https://git.kernel.org/netdev/net-next/c/0c94d657d2a4 You are awesome, thank you!
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c index 54097247c7a7..2cb70da63db3 100644 --- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c @@ -322,7 +322,7 @@ static int lan966x_mc_unsync(struct net_device *dev, const unsigned char *addr) struct lan966x_port *port = netdev_priv(dev); struct lan966x *lan966x = port->lan966x; - return lan966x_mac_forget(lan966x, addr, port->pvid, ENTRYTYPE_LOCKED); + return lan966x_mac_forget(lan966x, addr, HOST_PVID, ENTRYTYPE_LOCKED); } static int lan966x_mc_sync(struct net_device *dev, const unsigned char *addr) @@ -330,7 +330,7 @@ static int lan966x_mc_sync(struct net_device *dev, const unsigned char *addr) struct lan966x_port *port = netdev_priv(dev); struct lan966x *lan966x = port->lan966x; - return lan966x_mac_cpu_learn(lan966x, addr, port->pvid); + return lan966x_mac_cpu_learn(lan966x, addr, HOST_PVID); } static void lan966x_port_set_rx_mode(struct net_device *dev) @@ -594,7 +594,7 @@ static int lan966x_probe_port(struct lan966x *lan966x, u32 p, eth_hw_addr_gen(dev, lan966x->base_mac, p + 1); - lan966x_mac_learn(lan966x, PGID_CPU, dev->dev_addr, port->pvid, + lan966x_mac_learn(lan966x, PGID_CPU, dev->dev_addr, HOST_PVID, ENTRYTYPE_LOCKED); port->phylink_config.dev = &port->dev->dev;
The blamed commit changed the vlan used by the host ports to be 4095 instead of 0. Because of this change the following issues are seen: - when the port is probed first it was adding an entry in the MAC table with the wrong vlan (port->pvid which is default 0) and not HOST_PVID - when the port is removed from a bridge, it was using the wrong vlan to add entries in the MAC table. It was using the old PVID and not the HOST_PVID This patch fixes this two issues by using the HOST_PVID instead of port->pvid. Fixes: 6d2c186afa5d5d ("net: lan966x: Add vlan support.") Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> --- drivers/net/ethernet/microchip/lan966x/lan966x_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)