linux/drivers/s390/block
Stefan Haberland 3bc266631a s390/dasd: fix hanging IO request during DASD driver unbind
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: e443343e50 ("s390/dasd: blk-mq conversion")

Cc: <stable@vger.kernel.org> # v4.14+
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Tested-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-17 17:03:48 +01:00
..
Kconfig s390/Kconfig: pedantic cleanups 2019-06-04 15:03:46 +02:00
Makefile
dasd.c s390/dasd: fix hanging IO request during DASD driver unbind 2021-03-17 17:03:48 +01:00
dasd_3990_erp.c
dasd_alias.c s390/dasd: fix list corruption of lcu list 2020-12-30 11:51:34 +01:00
dasd_devmap.c s390/dasd: Recognise data for ESE volumes 2019-07-11 20:39:53 +02:00
dasd_diag.c s390/dasd: fix inability to use DASD with DIAG driver 2020-08-19 08:16:29 +02:00
dasd_diag.h
dasd_eckd.c s390/dasd: fix data corruption for thin provisioned devices 2020-03-18 07:17:52 +01:00
dasd_eckd.h s390/dasd: Handle out-of-space constraint 2019-07-11 20:39:54 +02:00
dasd_eer.c s390/dasd: Handle out-of-space constraint 2019-07-11 20:39:54 +02:00
dasd_erp.c
dasd_fba.c s390/dasd: Fix zero write for FBA devices 2020-10-01 13:18:23 +02:00
dasd_fba.h s390/dasd: Make dasd_setup_queue() a discipline function 2019-07-11 20:39:54 +02:00
dasd_genhd.c
dasd_int.h s390/dasd: fix data corruption for thin provisioned devices 2020-03-18 07:17:52 +01:00
dasd_ioctl.c s390/dasd: Add new ioctl to release space 2019-07-11 20:39:54 +02:00
dasd_proc.c
dcssblk.c libnvdimm: add dax_dev sync flag 2019-07-05 15:19:10 -07:00
scm_blk.c
scm_blk.h
scm_drv.c
xpram.c