X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fkobject_uevent.c;h=97a777ad4f592993bb58b0098ceee85d1b6977eb;hb=783f61843e9d14724f5f79ae955a28c27e300467;hp=38131028d16f87c9eb2685c08ce9a7af45fa2daa;hpb=d5df2a16133f4eb22f9a6bbc07723443568d362f;p=linux-2.6-omap-h63xx.git diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c index 38131028d16..97a777ad4f5 100644 --- a/lib/kobject_uevent.c +++ b/lib/kobject_uevent.c @@ -118,6 +118,13 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action, kset = top_kobj->kset; uevent_ops = kset->uevent_ops; + /* skip the event, if uevent_suppress is set*/ + if (kobj->uevent_suppress) { + pr_debug("kobject: '%s' (%p): %s: uevent_suppress " + "caused the event to drop!\n", + kobject_name(kobj), kobj, __func__); + return 0; + } /* skip the event, if the filter returns zero. */ if (uevent_ops && uevent_ops->filter) if (!uevent_ops->filter(kset, kobj)) { @@ -251,7 +258,7 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action, goto exit; retval = call_usermodehelper(argv[0], argv, - env->envp, UMH_WAIT_EXEC); + env->envp, UMH_NO_WAIT); } exit: