diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2011-05-23 10:23:32 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-05-23 10:23:43 +0200 |
commit | 9bf05098ce34e68a9e15f09ad6cdfea4ed64057a (patch) | |
tree | 57638d72b4f1543d9e17b17e85af5d8d59f5461e /arch/s390/include/asm/lowcore.h | |
parent | caebc160ce3f76761cc62ad96ef6d6f30f54e3dd (diff) | |
download | linux-9bf05098ce34e68a9e15f09ad6cdfea4ed64057a.tar.gz linux-9bf05098ce34e68a9e15f09ad6cdfea4ed64057a.tar.bz2 linux-9bf05098ce34e68a9e15f09ad6cdfea4ed64057a.zip |
[S390] cio: fix unreg race in set_online path
In ccw_device_set_online we basically start path verification and
wait for the device to reach a final state. If it turns out that the
device has no useable path we schedule the deregistration of the
device (which is still in an non-final state) and wake up the waiting
process. The deregistration process will set a final state, but if
the wake up happens to be prior to this, the device will hang forever
in ccw_device_set_online.
To fix this just set the final NOT_OPER state prior to the scheduled
deregistration of the device.
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/lowcore.h')
0 files changed, 0 insertions, 0 deletions