android_kernel_oneplus_msm8998/drivers/s390/block
Stefan Haberland 1473e6afbb s390/dasd: fix hanging device after clear subchannel
commit 9ba333dc55cbb9523553df973adb3024d223e905 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-07 08:32:41 +02:00
..
dasd.c s390/dasd: fix hanging device after clear subchannel 2016-09-07 08:32:41 +02: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-03 15:07:12 -08: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/dasd: fix diag 0x250 inline assembly 2016-03-16 08:42:58 -07:00
dasd_diag.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
dasd_eckd.c s390/dasd: fix disconnected device with valid path mask 2015-11-03 14:40:47 +01:00
dasd_eckd.h s390/dasd: enhance CUIR scope detection 2015-08-09 21:08:10 +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 s390: remove 31 bit support 2015-03-25 11:49:33 +01: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/block/dasd: remove obsolete while -EBUSY loop 2015-05-20 09:06:17 -06:00
dasd_int.h s390/dasd: fix failing path verification 2015-08-09 21:07:41 +02:00
dasd_ioctl.c s390/dasd: fix camel case 2014-08-01 11:16:18 +02:00
dasd_proc.c s390/dasd: cleanup profiling 2015-01-29 09:19:29 +01:00
dcssblk.c block: change ->make_request_fn() and users to return a queue cookie 2015-11-07 10:40:46 -07: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_block: make the number of reqs per HW req configurable 2014-12-08 09:42:47 +01:00
scm_blk.h s390/scm_block: make the number of reqs per HW req configurable 2014-12-08 09:42:47 +01:00
scm_blk_cluster.c s390/scm_block: fix off by one during cluster reservation 2015-02-26 09:24:47 +01:00
scm_drv.c s390/scm_block: fix printk format string 2013-03-21 13:35:37 +01:00
xpram.c block: change ->make_request_fn() and users to return a queue cookie 2015-11-07 10:40:46 -07:00