Commit:     fa1a8c23eb7d3ded8a3c6d0e653339a2bc7fca9e
Parent:     45cd8d8e1e56fba41b1e4fae988f40fe938045c2
Author:     Cornelia Huck <[EMAIL PROTECTED]>
AuthorDate: Thu Apr 26 00:12:03 2007 -0700
Committer:  Greg Kroah-Hartman <[EMAIL PROTECTED]>
CommitDate: Fri Apr 27 10:57:32 2007 -0700

    s390: cio: Delay uevents for subchannels
    We often have the situation that we register a subchannel and start device
    recognition, only to find out that the device is not usable after all, which
    triggers an unregister of the subchannel.  This often happens on hundreds of
    subchannels on a LPAR, leading to a storm of events which aren't of any use.
    Therefore, use uevent_suppress to delay the KOBJ_ADD uevent for a subchannel
    until we know that its ccw_device is to be registered.
    Signed-off-by: Cornelia Huck <[EMAIL PROTECTED]>
    Cc: Kay Sievers <[EMAIL PROTECTED]>
    Cc: Eric Rannaud <[EMAIL PROTECTED]>
    Cc: Heiko Carstens <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
 drivers/s390/cio/device.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c
index 0335590..a23ff58 100644
--- a/drivers/s390/cio/device.c
+++ b/drivers/s390/cio/device.c
@@ -871,6 +871,12 @@ io_subchannel_register(struct work_struct *work)
                goto out;
+       /*
+        * Now we know this subchannel will stay, we can throw
+        * our delayed uevent.
+        */
+       sch->dev.uevent_suppress = 0;
+       kobject_uevent(&sch->dev.kobj, KOBJ_ADD);
        /* make it known to the system */
        ret = ccw_device_register(cdev);
        if (ret) {
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to