forked from Minki/linux
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 <cornelia.huck@de.ibm.com> Cc: Kay Sievers <kay.sievers@vrfy.org> Cc: Eric Rannaud <eric.rannaud@gmail.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
45cd8d8e1e
commit
fa1a8c23eb
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user