]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/s390/cio/device_fsm.c
[S390] cio: fix ineffective verify event
[net-next-2.6.git] / drivers / s390 / cio / device_fsm.c
index 3db88c52d2879e9dc4cac73dd40e4967f5719e5a..b8bdb0d754268ac969c9e3be42f7ff566f6c8e91 100644 (file)
@@ -730,6 +730,17 @@ static void ccw_device_generic_notoper(struct ccw_device *cdev,
        css_schedule_eval(sch->schid);
 }
 
+/*
+ * Handle path verification event in offline state.
+ */
+static void ccw_device_offline_verify(struct ccw_device *cdev,
+                                     enum dev_event dev_event)
+{
+       struct subchannel *sch = to_subchannel(cdev->dev.parent);
+
+       css_schedule_eval(sch->schid);
+}
+
 /*
  * Handle path verification event.
  */
@@ -1149,7 +1160,7 @@ fsm_func_t *dev_jumptable[NR_DEV_STATES][NR_DEV_EVENTS] = {
                [DEV_EVENT_NOTOPER]     = ccw_device_generic_notoper,
                [DEV_EVENT_INTERRUPT]   = ccw_device_offline_irq,
                [DEV_EVENT_TIMEOUT]     = ccw_device_nop,
-               [DEV_EVENT_VERIFY]      = ccw_device_nop,
+               [DEV_EVENT_VERIFY]      = ccw_device_offline_verify,
        },
        [DEV_STATE_VERIFY] = {
                [DEV_EVENT_NOTOPER]     = ccw_device_generic_notoper,