|
@@ -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);
|