[S390] qdio: fix error reporting for hipersockets
authorJan Glauber <jang@linux.vnet.ibm.com>
Thu, 25 Dec 2008 12:38:48 +0000 (13:38 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 25 Dec 2008 12:39:00 +0000 (13:39 +0100)
commit7a0b4cbc7d7d99763511b488b08bbc2607ddd1e3
tree96344f73eb9d802b0f488b7d086c8094b93635f8
parent50f769df1c4bea766c4eb927eae35728fb93e305
[S390] qdio: fix error reporting for hipersockets

Hipersocket connections can encounter temporary busy conditions.
In case of the busy bit set we retry the SIGA operation immediatelly.
If the busy condition still persists after 100 ms we fail and report
the error to the upper layer. The second stage retry logic is removed.
In case of ongoing busy conditions the upper layer needs to reset the
connection.

The reporting of a SIGA error is now done synchronously to allow the
network driver to requeue the buffers. Also no error trace is created
for the temporary SIGA errors so the error message view is not flooded.

Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/qdio.h
drivers/s390/cio/qdio_main.c
drivers/s390/cio/qdio_setup.c