[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 <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Peter Oberparleiter 2007-05-31 17:38:07 +02:00 committed by Martin Schwidefsky
parent 59a8a6e227
commit 3ecb0a5a7b
1 changed files with 6 additions and 0 deletions

View File

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