diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2007-10-22 12:52:41 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-10-22 12:52:47 +0200 |
commit | 5bf04b2062c5b441d7154216694fea7dc2a6a7f3 (patch) | |
tree | 6651d0d6ac77b50ad4ba926cdfa15f7861951eba /drivers/s390/cio | |
parent | 054696077a6c4f9e306321d45b5762d6ea7940e1 (diff) |
[S390] cio: Fix incomplete commit for uevent suppression.
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>
Diffstat (limited to 'drivers/s390/cio')
-rw-r--r-- | drivers/s390/cio/css.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c index 5d83dd47146..838f7ac0dc3 100644 --- a/drivers/s390/cio/css.c +++ b/drivers/s390/cio/css.c @@ -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); |