[S390] qdio: fix EQBS handling on CCQ96
commitf276730f8da0e8136d8491b6ef44fc719d450a1b
authorKlaus D. Wacker <kdwacker@de.ibm.com>
Wed, 22 Aug 2007 11:51:38 +0000 (22 13:51 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 22 Aug 2007 11:51:47 +0000 (22 13:51 +0200)
treeac6d0545d41e5c70c7c3c5c84c9a9c4fae7f7919
parent23eb68c569cdbaad1a88015be1d69c565cd3926a
[S390] qdio: fix EQBS handling on CCQ96

QDIO returned from EQBS instruction in any case after return code
CCQ=96 was issued regardless whether buffer states for at least one
buffer were extracted or not.
This caused FCP devices to hang when running under z/VM and having
QIOASSASIST=ON and having high I/O rates.
In order to fix this qdio return code processing of EQBS instruction
after CCQ=96 is changed that buffers are returned and if no buffers
where extracted the instruction is repeated at once.

Signed-off-by: Klaus D. Wacker <kdwacker@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