[S390] qdio: avoid hang when establishing qdio queues
authorUrsula Braun <braunu@de.ibm.com>
Sat, 9 Feb 2008 17:24:32 +0000 (18:24 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Sat, 9 Feb 2008 17:24:39 +0000 (18:24 +0100)
commitbf3f837804997e5f5d9888051e9e5356961af0f2
tree4d2c70d51edae38b92803f38fa025ee4875e0a34
parent522d8dc08b16deb51c128d544ab1cb9c621c950e
[S390] qdio: avoid hang when establishing qdio queues

If qdio establish runs in parallel with a channel error,
ccw_device_start_timeout may not trigger the qdio_timeout_handler.
In this case neither QDIO_IRQ_STATE_ESTABLISHED nor
QDIO_IRQ_STATE_ERR is reached and the following wait_event hangs
forever.
Solution: do not make use of the timeout option with
ccw_device_start, but add a timeout to the following wait_event.

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