diff --git a/net/dsa/port.c b/net/dsa/port.c index 4fbe81ffb1ce786e7b0d259860843b97e089ce76..3b775d7adee2027884bdcc7ac0c2f23d2e3ced0b 100644 --- a/net/dsa/port.c +++ b/net/dsa/port.c @@ -373,6 +373,10 @@ void dsa_port_pre_bridge_leave(struct dsa_port *dp, struct net_device *br) { struct net_device *brport_dev = dsa_port_to_bridge_port(dp); + /* Don't try to unoffload something that is not offloaded */ + if (!brport_dev) + return; + switchdev_bridge_port_unoffload(brport_dev, dp, &dsa_slave_switchdev_notifier, &dsa_slave_switchdev_blocking_notifier);