linux-stable/drivers/s390/block
Stefan Haberland 658a337a60 s390/dasd: fix hanging device offline processing
For an LCU update a read unit address configuration IO is required.
This is started using sleep_on(), which has early exit paths in case the
device is not usable for IO. For example when it is in offline processing.

In those cases the LCU update should fail and not be retried.
Therefore lcu_update_work checks if EOPNOTSUPP is returned or not.

Commit 41995342b4 ("s390/dasd: fix endless loop after read unit address configuration")
accidentally removed the EOPNOTSUPP return code from
read_unit_address_configuration(), which in turn might lead to an endless
loop of the LCU update in offline processing.

Fix by returning EOPNOTSUPP again if the device is not able to perform the
request.

Fixes: 41995342b4 ("s390/dasd: fix endless loop after read unit address configuration")
Cc: stable@vger.kernel.org #5.3
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-12-17 13:41:11 -07:00
..
dasd.c for-5.11/drivers-2020-12-14 2020-12-16 13:09:32 -08:00
dasd_3990_erp.c s390/dasd: Fix comment spelling 2020-03-17 20:50:19 +01:00
dasd_alias.c s390/dasd: fix hanging device offline processing 2020-12-17 13:41:11 -07:00
dasd_devmap.c s390/dasd: Display FC Endpoint Security information via sysfs 2020-11-16 08:14:38 -07:00
dasd_diag.c s390/dasd: Use struct_size() helper 2020-07-15 08:47:11 -06:00
dasd_diag.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dasd_eckd.c for-5.11/drivers-2020-12-14 2020-12-16 13:09:32 -08:00
dasd_eckd.h s390: Replace zero-length array with flexible-array member 2020-02-27 16:02:21 +01:00
dasd_eer.c s390/dasd: Handle out-of-space constraint 2019-07-11 20:39:54 +02:00
dasd_erp.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dasd_fba.c for-5.11/drivers-2020-12-14 2020-12-16 13:09:32 -08:00
dasd_fba.h s390/dasd: fix typo in copyright statement 2019-12-20 11:52:01 -07:00
dasd_genhd.c dasd: cleanup dasd_scan_partitions 2020-09-23 10:43:19 -06:00
dasd_int.h for-5.11/drivers-2020-12-14 2020-12-16 13:09:32 -08:00
dasd_ioctl.c block: stop using bdget_disk for partition 0 2020-12-01 14:53:40 -07:00
dasd_proc.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
dcssblk.c dcssblk: don't set bd_block_size in ->open 2020-07-01 08:08:15 -06:00
Kconfig s390/dasd: remove IOSCHED_DEADLINE from DASD Kconfig 2020-04-17 08:05:27 -06:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scm_blk.c blk-mq: move failure injection out of blk_mq_complete_request 2020-06-24 09:15:57 -06:00
scm_blk.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-11-13 11:47:01 -08:00
scm_drv.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xpram.c block: move ->make_request_fn to struct block_device_operations 2020-07-01 07:27:24 -06:00