This is a note to let you know that I've just added the patch titled s390/dasd: fix hanging IO request during DASD driver unbind to the 4.19-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: s390-dasd-fix-hanging-io-request-during-dasd-driver-unbind.patch and it can be found in the queue-4.19 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 66f669a272898feb1c69b770e1504aa2ec7723d1 Mon Sep 17 00:00:00 2001 From: Stefan Haberland <sth@xxxxxxxxxxxxx> Date: Fri, 5 Mar 2021 13:54:39 +0100 Subject: s390/dasd: fix hanging IO request during DASD driver unbind From: Stefan Haberland <sth@xxxxxxxxxxxxx> commit 66f669a272898feb1c69b770e1504aa2ec7723d1 upstream. Prevent that an IO request is build during device shutdown initiated by a driver unbind. This request will never be able to be processed or canceled and will hang forever. This will lead also to a hanging unbind. Fix by checking not only if the device is in READY state but also check that there is no device offline initiated before building a new IO request. Fixes: e443343e509a ("s390/dasd: blk-mq conversion") Cc: <stable@xxxxxxxxxxxxxxx> # v4.14+ Signed-off-by: Stefan Haberland <sth@xxxxxxxxxxxxx> Tested-by: Bjoern Walk <bwalk@xxxxxxxxxxxxx> Reviewed-by: Jan Hoeppner <hoeppner@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/s390/block/dasd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c @@ -2940,7 +2940,8 @@ static blk_status_t do_dasd_request(stru basedev = block->base; spin_lock_irq(&dq->lock); - if (basedev->state < DASD_STATE_READY) { + if (basedev->state < DASD_STATE_READY || + test_bit(DASD_FLAG_OFFLINE, &basedev->flags)) { DBF_DEV_EVENT(DBF_ERR, basedev, "device not ready for request %p", req); rc = BLK_STS_IOERR; Patches currently in stable-queue which might be from sth@xxxxxxxxxxxxx are queue-4.19/s390-dasd-fix-hanging-dasd-driver-unbind.patch queue-4.19/s390-dasd-fix-hanging-io-request-during-dasd-driver-unbind.patch