]> git.baikalelectronics.ru Git - kernel.git/commit
s390/dasd: fix hanging device after clear subchannel
authorStefan Haberland <sth@linux.vnet.ibm.com>
Mon, 8 Aug 2016 12:08:17 +0000 (14:08 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 10 Aug 2016 08:12:16 +0000 (10:12 +0200)
commite6f5c5f9e94d727f0a84923c1594ef11306dc915
treead18cc8f559abe33f5a44053080a4b206207dd03
parentc7e76113e1a8398cd78c1223eda86f734d92959c
s390/dasd: fix hanging device after clear subchannel

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>
drivers/s390/block/dasd.c