switchdev: Require RTNL mutex to be held when sending FDB notifications
[firefly-linux-kernel-4.4.55.git] / drivers / net / ethernet / rocker / rocker.c
index e9f2349e98bc0f32894c4880faf98f30b7737eab..52ec3d6e056a02d6fe9a7992608b4a30e52c2744 100644 (file)
@@ -3531,12 +3531,14 @@ static void rocker_port_fdb_learn_work(struct work_struct *work)
        info.addr = lw->addr;
        info.vid = lw->vid;
 
+       rtnl_lock();
        if (learned && removing)
                call_switchdev_notifiers(SWITCHDEV_FDB_DEL,
                                         lw->rocker_port->dev, &info.info);
        else if (learned && !removing)
                call_switchdev_notifiers(SWITCHDEV_FDB_ADD,
                                         lw->rocker_port->dev, &info.info);
+       rtnl_unlock();
 
        rocker_port_kfree(lw->trans, work);
 }