Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
[sfrench/cifs-2.6.git] / drivers / s390 / cio / css.c
index 5d83dd471461a6b13124348709cca88e191eb6e6..6db31089d2d7d4828caba71bc4b6c4a8da23be9e 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);
@@ -474,7 +483,7 @@ static DECLARE_WORK(css_reprobe_work, reprobe_all);
 void css_schedule_reprobe(void)
 {
        need_reprobe = 1;
-       queue_work(ccw_device_work, &css_reprobe_work);
+       queue_work(slow_path_wq, &css_reprobe_work);
 }
 
 EXPORT_SYMBOL_GPL(css_schedule_reprobe);