s390/cio: improve cio_commit_config
authorSebastian Ott <sebott@linux.vnet.ibm.com>
Wed, 5 Feb 2014 12:36:05 +0000 (13:36 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 6 Feb 2014 10:21:23 +0000 (11:21 +0100)
commit1bc8927cc5b57c4d9198e4c4ac6b426b7c7d72c7
tree74ddf63ee3f1aea6adb0e49a1044ee80973d89fe
parent8d7f6690cedb83456edd41c9bd583783f0703bf0
s390/cio: improve cio_commit_config

The modify subchannel wrapper cio_commit_config can fail when
(unexpected) status is pending on the subchannel.

Callers of cio_commit_config (that operated on enabled subchannels)
needed to do error handling for that case (clear the unexpected
status with test subchannel and retry). This error handling is
missing in some code paths and caused online setting of devices to
fail.

Fix this for all callers by moving the error handling inside
cio_commit_config.

Reviewed-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/cio.c