]> git.karo-electronics.de Git - karo-tx-linux.git/commit
[S390] qdio: Cleanup error handling to drivers
authorJan Glauber <jang@linux.vnet.ibm.com>
Fri, 20 Apr 2012 12:08:46 +0000 (14:08 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 20 Apr 2012 12:08:48 +0000 (14:08 +0200)
commit7c77c7003446816cba662f23422073e64e2601f4
tree4512c595ff5adbc97498ae20cf0e92ca496864cf
parent87a54589eaa249bff74074232d3dddd95085c1b4
[S390] qdio: Cleanup error handling to drivers

Various improvements of qdio error reporting to the
upper-layer drivers (qeth, zfcp):

- Split QDIO_ERROR_ACTIVATE_CHECK_CONDITION into:

  QDIO_ERROR_ACTIVATE: qdio termination interrupt
  QDIO_ERROR_GET_BUF_STATE: QIOASSIST eqbs error
  QDIO_ERROR_SET_BUF_STATE: QIOASSIST sqbs error

  Add QDIO_ERROR_FATAL / QDIO_ERROR_TEMPORARY masks
  to ease recovery decision in upper-layer drivers.

- Don't (ab-)use qdio handler errors as return codes
  for do_QDIO but use standard error codes:

  -ENOBUFS: temporary target CC=2 condition
  -EBUSY: unresolved SIGA-W CC=2 busy condition
  -EIO: I/O error (CC=1, CC=3)

- Remove unneeded memory clobber from SIGA-R
- Remove EX_TABLE entry on SIGA-W, we want to see these errors

Reviewed-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/qdio.h
drivers/s390/cio/qdio_main.c
drivers/s390/net/qeth_core_main.c