From: Jakub Kicinski Date: Thu, 30 Jun 2022 23:31:00 +0000 (-0700) Subject: Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0d8730f07c822a351a624462918c7109cdc7f402;p=linux.git Merge git://git./linux/kernel/git/netdev/net drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c 9c5de246c1db ("net: sparx5: mdb add/del handle non-sparx5 devices") fbb89d02e33a ("net: sparx5: Allow mdb entries to both CPU and ports") Signed-off-by: Jakub Kicinski --- 0d8730f07c822a351a624462918c7109cdc7f402 diff --cc drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c index 40ef9fad3a770,5edc8b7176c82..ec07f7d0528ce --- a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c @@@ -394,10 -394,15 +394,13 @@@ static int sparx5_handle_port_mdb_add(s struct sparx5 *spx5 = port->sparx5; u16 pgid_idx, vid; u32 mact_entry; + bool is_host; int res, err; + if (!sparx5_netdevice_check(dev)) + return -EOPNOTSUPP; + - if (netif_is_bridge_master(v->obj.orig_dev)) { - sparx5_mact_learn(spx5, PGID_CPU, v->addr, v->vid); - return 0; - } + is_host = netif_is_bridge_master(v->obj.orig_dev); /* When VLAN unaware the vlan value is not parsed and we receive vid 0. * Fall back to bridge vid 1. @@@ -477,9 -466,17 +480,12 @@@ static int sparx5_handle_port_mdb_del(s struct sparx5_port *port = netdev_priv(dev); struct sparx5 *spx5 = port->sparx5; u16 pgid_idx, vid; - u32 mact_entry, res, pgid_entry[3]; - int err; + u32 mact_entry, res, pgid_entry[3], misc_cfg; + bool host_ena; + if (!sparx5_netdevice_check(dev)) + return -EOPNOTSUPP; + - if (netif_is_bridge_master(v->obj.orig_dev)) { - sparx5_mact_forget(spx5, v->addr, v->vid); - return 0; - } - if (!br_vlan_enabled(spx5->hw_bridge_dev)) vid = 1; else