From 3ecb0a5a7b567c9719d61938bcdba22938084b65 Mon Sep 17 00:00:00 2001 From: Peter Oberparleiter Date: Thu, 31 May 2007 17:38:07 +0200 Subject: [S390] cio: deregister ccw device when pgid disband failed Deregister ccw device when device failure is detected during offline- processing (e.g. when no last-path-gone indication was presented by the hardware) to prevent the device from entering a non-recoverable not-operational state. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky --- drivers/s390/cio/device_fsm.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'drivers/s390/cio/device_fsm.c') diff --git a/drivers/s390/cio/device_fsm.c b/drivers/s390/cio/device_fsm.c index 898ec3b2bebb..6bba80929577 100644 --- a/drivers/s390/cio/device_fsm.c +++ b/drivers/s390/cio/device_fsm.c @@ -688,6 +688,12 @@ ccw_device_disband_done(struct ccw_device *cdev, int err) ccw_device_done(cdev, DEV_STATE_BOXED); break; default: + cdev->private->flags.donotify = 0; + if (get_device(&cdev->dev)) { + PREPARE_WORK(&cdev->private->kick_work, + ccw_device_call_sch_unregister); + queue_work(ccw_device_work, &cdev->private->kick_work); + } ccw_device_done(cdev, DEV_STATE_NOT_OPER); break; } -- cgit v1.2.3