[S390] cio: failing set online/offline processing.
authorMichael Ernst <mernst@de.ibm.com>
Fri, 11 Sep 2009 08:28:21 +0000 (10:28 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 11 Sep 2009 08:29:38 +0000 (10:29 +0200)
commit217ee6c64a9589bc5ad4d1c88136fc359d17930b
tree5a01eaa37365d6efbef12aa1f2c5e04db0e42244
parentbe7a2ddce66991c05a1c6ad19790289591e53547
[S390] cio: failing set online/offline processing.

When unit checks trigger sensing the device state is set to W4SENSE
until sense completion; then the device state is set back to
ONLINE. If a unit check occurs while set online or set offline
requests are processed then it might happen that the device's
temporary W4SENSE state causes these functions to terminate,
leaving the device in an inconsistent state when the state is set
back to ONLINE later on so that the device cannot be set online or
offline any longer.
To solve this, set online/offline and related rollback or error
routines are processed only if the device is in a final or
DISCONNECTED state.

Signed-off-by: Michael Ernst <mernst@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/device.c
drivers/s390/cio/device_fsm.c