linux/drivers/s390/block
Stefan Haberland c68f2d5722 s390/dasd: fix hanging device after clear subchannel
[ Upstream commit 9ba333dc55 ]

When a device is in a status where CIO has killed all I/O by itself the
interrupt for a clear request may not contain an irb to determine the
clear function. Instead it contains an error pointer -EIO.
This was ignored by the DASD int_handler leading to a hanging device
waiting for a clear interrupt.

Handle -EIO error pointer correctly for requests that are clear pending and
treat the clear as successful.

Signed-off-by: Stefan Haberland <sth@linux.vnet.ibm.com>
Reviewed-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
History 2016-08-31 19:31:59 -04:00
..
dasd.c s390/dasd: fix hanging device after clear subchannel 2016-08-31 19:31:59 -04:00
dasd_3990_erp.c s390/time: rename tod clock access functions 2013-02-14 15:55:10 +01:00
dasd_alias.c s390/dasd: fix refcount for PAV reassignment 2016-03-04 10:18:40 -05:00
dasd_devmap.c s390/dasd: add support for control unit initiated reconfiguration 2014-10-09 09:13:54 +02:00
dasd_diag.c s390/irq: Use defines for external interruption codes 2014-04-03 14:30:52 +02:00
dasd_diag.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
dasd_eckd.c s390/dasd: add support for control unit initiated reconfiguration 2014-10-09 09:13:54 +02:00
dasd_eckd.h s390/dasd: add support for control unit initiated reconfiguration 2014-10-09 09:13:54 +02:00
dasd_eer.c s390/time: rename tod clock access functions 2013-02-14 15:55:10 +01:00
dasd_erp.c s390/dasd: fix statistics for recovered requests 2013-08-28 09:19:34 +02:00
dasd_fba.c block: Convert bio_for_each_segment() to bvec_iter 2013-11-23 22:33:49 -08:00
dasd_fba.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
dasd_genhd.c s390/dasd: fix memory leak caused by dangling references to request_queue 2013-12-02 15:31:06 +01:00
dasd_int.h s390/dasd: add support for control unit initiated reconfiguration 2014-10-09 09:13:54 +02:00
dasd_ioctl.c s390/dasd: fix camel case 2014-08-01 11:16:18 +02:00
dasd_proc.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
dcssblk.c s390: avoid format strings leaking into names 2014-06-11 10:13:27 +02:00
Kconfig s390/scm_block: force cluster writes 2012-09-26 15:45:01 +02:00
Makefile s390/scm_block: force cluster writes 2012-09-26 15:45:01 +02:00
scm_blk.c block: disable entropy contributions for nonrot devices 2014-10-04 10:55:32 -06:00
scm_blk.h s390/s390dbf: use debug_level_enabled() where applicable 2013-10-24 17:16:54 +02:00
scm_blk_cluster.c block: Convert bio_for_each_segment() to bvec_iter 2013-11-23 22:33:49 -08:00
scm_drv.c s390/scm_block: fix printk format string 2013-03-21 13:35:37 +01:00
xpram.c block: disable entropy contributions for nonrot devices 2014-10-04 10:55:32 -06:00