From: Stefan Haberland Date: Tue, 30 Jul 2013 08:49:43 +0000 (+0200) Subject: s390/dasd: fix hanging devices after path events X-Git-Tag: firefly_0821_release~176^2~5594^2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0e003b709ef9f4c43f6338834526c3556ea71b19;p=firefly-linux-kernel-4.4.55.git 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 Signed-off-by: Martin Schwidefsky --- diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index 17150a778984..451bf99582ff 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c @@ -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; }