[S390] qdio: Repair timeout handling for qdio_shutdown
authorUrsula Braun <braunu@de.ibm.com>
Mon, 14 Jul 2008 07:57:25 +0000 (09:57 +0200)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 14 Jul 2008 08:01:59 +0000 (10:01 +0200)
commitbb0ca330a7e273cdecebae0283c9d267f60fe363
treed5d1c3fb50c9ef53dedf5cafcd69b7b0214176be
parentb1c02d9110e72ec510ec9b038f9564e3c0d87384
[S390] qdio: Repair timeout handling for qdio_shutdown

If qdio shutdown runs in parallel with a channel error,
the qdio_timeout_handler might not be triggered.
In this case neither state INACTIVE nor state ERR
is reached and the following wait_event hangs forever.
Solution: do not make use of ccw_device_set_timeout(),
but add a timeout to the following wait_event.
And make sure, wake_up is called in case of an
i/o error on the qdio-device.

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
drivers/s390/cio/qdio.c