diff --git a/datapath/datapath.c b/datapath/datapath.c index 65d25c2a2..08e7450e5 100644 --- a/datapath/datapath.c +++ b/datapath/datapath.c @@ -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: