X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fgeneric%2Fpatches-3.3%2F910-kobject_uevent.patch;h=aa9a40f0998100b97c1fd4303c54f4d992d08194;hb=35bfd538d03656e6a2d63bda261aadc6ae35c6cc;hp=f15749fa1780d5680c596a302bb9a5b0f942cc66;hpb=75d051e29d5806b4d09e408d3546317fb910f3f0;p=openwrt.git diff --git a/target/linux/generic/patches-3.3/910-kobject_uevent.patch b/target/linux/generic/patches-3.3/910-kobject_uevent.patch index f15749fa17..aa9a40f099 100644 --- a/target/linux/generic/patches-3.3/910-kobject_uevent.patch +++ b/target/linux/generic/patches-3.3/910-kobject_uevent.patch @@ -1,6 +1,6 @@ --- a/lib/kobject_uevent.c +++ b/lib/kobject_uevent.c -@@ -49,6 +49,18 @@ static const char *kobject_actions[] = { +@@ -50,6 +50,18 @@ static const char *kobject_actions[] = { [KOBJ_OFFLINE] = "offline", }; @@ -8,9 +8,9 @@ +{ + u64 seq; + -+ spin_lock(&sequence_lock); ++ mutex_lock(&uevent_sock_mutex); + seq = ++uevent_seqnum; -+ spin_unlock(&sequence_lock); ++ mutex_unlock(&uevent_sock_mutex); + + return seq; +} @@ -19,14 +19,3 @@ /** * kobject_action_type - translate action string to numeric type * -@@ -244,9 +256,7 @@ int kobject_uevent_env(struct kobject *k - kobj->state_remove_uevent_sent = 1; - - /* we will send an event, so request a new sequence number */ -- spin_lock(&sequence_lock); -- seq = ++uevent_seqnum; -- spin_unlock(&sequence_lock); -+ seq = uevent_next_seqnum(); - retval = add_uevent_var(env, "SEQNUM=%llu", (unsigned long long)seq); - if (retval) - goto exit;