diff options
Diffstat (limited to 'drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c')
-rw-r--r-- | drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c index 40ef9fad3a770..ec07f7d0528ce 100644 --- a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c @@ -397,6 +397,9 @@ static int sparx5_handle_port_mdb_add(struct net_device *dev, bool is_host; int res, err; + if (!sparx5_netdevice_check(dev)) + return -EOPNOTSUPP; + is_host = netif_is_bridge_master(v->obj.orig_dev); /* When VLAN unaware the vlan value is not parsed and we receive vid 0. @@ -480,6 +483,9 @@ static int sparx5_handle_port_mdb_del(struct net_device *dev, u32 mact_entry, res, pgid_entry[3], misc_cfg; bool host_ena; + if (!sparx5_netdevice_check(dev)) + return -EOPNOTSUPP; + if (!br_vlan_enabled(spx5->hw_bridge_dev)) vid = 1; else |