diff options
author | Jan Glauber <jang@linux.vnet.ibm.com> | 2009-03-26 10:24:31 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-03-26 10:24:22 -0400 |
commit | d303b6fd858370c22d5c70c313669e3521a5f758 (patch) | |
tree | 3c8dd573bc3ea48af8f12c41e5f00358c09a579a /arch/s390 | |
parent | 9e890ad880be1dd98483313b2ec0e23fbd4e3792 (diff) |
[S390] qdio: report SIGA errors directly
Errors from SIGA instructions are stored in the per queue qdio_error
and reported back when the queue handler is called. That opens a race
when multiple error conditions occur simultanously.
Report SIGA errors immediately in the return value of do_QDIO so the
upper layer can react and SIGA errors no longer interfere with other
errors.
Move the SIGA error handling in qeth from the outbound handler to
qeth_flush_buffers.
Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/include/asm/qdio.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/include/asm/qdio.h b/arch/s390/include/asm/qdio.h index 27fc1746de15..402d6dcf0d26 100644 --- a/arch/s390/include/asm/qdio.h +++ b/arch/s390/include/asm/qdio.h | |||
@@ -314,6 +314,7 @@ typedef void qdio_handler_t(struct ccw_device *, unsigned int, int, | |||
314 | int, int, unsigned long); | 314 | int, int, unsigned long); |
315 | 315 | ||
316 | /* qdio errors reported to the upper-layer program */ | 316 | /* qdio errors reported to the upper-layer program */ |
317 | #define QDIO_ERROR_SIGA_TARGET 0x02 | ||
317 | #define QDIO_ERROR_SIGA_ACCESS_EXCEPTION 0x10 | 318 | #define QDIO_ERROR_SIGA_ACCESS_EXCEPTION 0x10 |
318 | #define QDIO_ERROR_SIGA_BUSY 0x20 | 319 | #define QDIO_ERROR_SIGA_BUSY 0x20 |
319 | #define QDIO_ERROR_ACTIVATE_CHECK_CONDITION 0x40 | 320 | #define QDIO_ERROR_ACTIVATE_CHECK_CONDITION 0x40 |