datapath: dp_sysfs_add_dp() needs RTNL lock.
[sliver-openvswitch.git] / datapath / datapath.c
index 65d25c2..08e7450 100644 (file)
@@ -267,11 +267,11 @@ static int create_dp(int dp_idx, const char __user *devnamep)
                goto err_destroy_local_port;
 
        rcu_assign_pointer(dps[dp_idx], dp);
+       dp_sysfs_add_dp(dp);
+
        mutex_unlock(&dp_mutex);
        rtnl_unlock();
 
-       dp_sysfs_add_dp(dp);
-
        return 0;
 
 err_destroy_local_port: