]> git.ipfire.org Git - people/arne_f/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)
commit9ba333dc55cbb9523553df973adb3024d223e905
treead18cc8f559abe33f5a44053080a4b206207dd03
parent9bce8b2cbebf9f11b41021ccb98c6b18d1796edd
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