s390/3270: avoid endless I/O loop with disconnected 3270 terminals
commit8340ab60b3624386eaa24fa21bdb4e6775066ccf
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 2 May 2016 12:53:29 +0000 (2 14:53 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 4 May 2016 14:29:53 +0000 (4 16:29 +0200)
treed0e7952f4a44d6733e448006f8a8fc442f1c08c5
parent2e63a3a66655d5fe5d85c090b009979870436c00
s390/3270: avoid endless I/O loop with disconnected 3270 terminals

If a 3270 terminal is disconnected while the tty view is active
the 3270 driver goes into an endless loop of failed I/O requests
until the terminal is connected again.

Add code to the raw3270 interrupt handler to check for unit checks
due to failed I/O requests and put the device to sleep with the
RAW3270_FLAGS_BUSY flag until a unsolicited device end interrupt
indicates that the device can be used again. while we are at it
simplify the 3270 irq handling and remove unnecessary code.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/char/con3270.c
drivers/s390/char/fs3270.c
drivers/s390/char/raw3270.c
drivers/s390/char/raw3270.h
drivers/s390/char/tty3270.c