[S390] cio: make not operational handling consistent

When a ccw device appears not operational, inform the associated
device driver and act according to the response: if the driver
wants to keep the device, put it into the disconnected state.
If not, or if there is no driver or if the device is not online,
unregister it. This approach is consistent with no-path event
handling.

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
2009-10-06 10:34:02 +02:00
committed by Martin Schwidefsky
parent 9a33211694
commit 6afcc775d9
3 changed files with 9 additions and 7 deletions

View File

@ -1609,7 +1609,7 @@ int ccw_purge_blacklisted(void)
return 0;
}
static void device_set_disconnected(struct ccw_device *cdev)
void ccw_device_set_disconnected(struct ccw_device *cdev)
{
if (!cdev)
return;
@ -1705,7 +1705,7 @@ static int io_subchannel_sch_event(struct subchannel *sch, int slow)
ccw_device_trigger_reprobe(cdev);
break;
case DISC:
device_set_disconnected(cdev);
ccw_device_set_disconnected(cdev);
break;
default:
break;