]> err.no Git - linux-2.6/commitdiff
[S390] cio: Fix incomplete commit for uevent suppression.
authorCornelia Huck <cornelia.huck@de.ibm.com>
Mon, 22 Oct 2007 10:52:41 +0000 (12:52 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 22 Oct 2007 10:52:47 +0000 (12:52 +0200)
Commit fa1a8c23eb7d3ded8a3c6d0e653339a2bc7fca9e intended to
introduce uevent suppression for subchannels, but half of it was
lost somewhere. Now, we end up with two uevents for every registered
subchannel :( So we should better add the missing part from
http://marc.info/?l=linux-kernel&m=117515953113974&w=2.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/css.c

index 5d83dd471461a6b13124348709cca88e191eb6e6..838f7ac0dc32420bc258e067c5283a8177406963 100644 (file)
@@ -182,6 +182,15 @@ static int css_register_subchannel(struct subchannel *sch)
        sch->dev.bus = &css_bus_type;
        sch->dev.release = &css_subchannel_release;
        sch->dev.groups = subch_attr_groups;
+       /*
+        * We don't want to generate uevents for I/O subchannels that don't
+        * have a working ccw device behind them since they will be
+        * unregistered before they can be used anyway, so we delay the add
+        * uevent until after device recognition was successful.
+        */
+       if (!cio_is_console(sch->schid))
+               /* Console is special, no need to suppress. */
+               sch->dev.uevent_suppress = 1;
        css_update_ssd_info(sch);
        /* make it known to the system */
        ret = css_sch_device_register(sch);