linux/drivers/s390/block
Stefan Haberland d2a6f15625 s390/dasd: fix hanging device after clear subchannel
commit 9ba333dc55 upstream.

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>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2016-11-20 01:17:08 +00:00
..
dasd.c s390/dasd: fix hanging device after clear subchannel 2016-11-20 01:17:08 +00: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:26:38 +00:00
dasd_devmap.c s390: replace strict_strtoul() with kstrtoul() 2013-08-22 12:20:00 +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 Linux 3.13-rc6 2013-12-31 09:51:02 -07:00
dasd_eckd.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +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: Fail all requests when DASD_FLAG_ABORTIO is set 2013-07-01 17:31:26 +02:00
dasd_ioctl.c s390/dasd: Fail all requests when DASD_FLAG_ABORTIO is set 2013-07-01 17:31:26 +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 s390/scm_blk: fix deadlock for requests != REQ_TYPE_FS 2016-06-15 21:29:22 +01: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 Merge branch 'for-3.14/core' of git://git.kernel.dk/linux-block 2014-01-30 11:19:05 -08:00