s390/dasd: fix hanging devices after path events

The processing of the dasd_block tasklet may have been interrupted
by a path event.
Restart the dasd tasklets in sleep_on_immediately function.

Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Stefan Haberland 2013-07-30 10:49:43 +02:00 committed by Martin Schwidefsky
parent 198b1bf8c3
commit 0e003b709e
1 changed files with 6 additions and 0 deletions

View File

@ -2392,6 +2392,12 @@ int dasd_sleep_on_immediatly(struct dasd_ccw_req *cqr)
rc = cqr->intrc;
else
rc = -EIO;
/* kick tasklets */
dasd_schedule_device_bh(device);
if (device->block)
dasd_schedule_block_bh(device->block);
return rc;
}