diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-05-30 04:03:30 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-05-30 04:03:35 -0400 |
commit | d4820e44b0ae6830b1d634e6d0a425d839388c06 (patch) | |
tree | 8f2e5e43623bd37056321de3940820a25d8a6bcf /drivers/s390/block/dasd.c | |
parent | c1bb7f31eaef6ed6b9f895b99d9ea12e6b853606 (diff) |
[S390] sclp_vt220: fix scheduling while atomic bug.
The driver incorrectly assumed that putchar will only be called from
schedulable process context and therefore blocked and waited if no
free output buffers where available.
Since putchar may also be called from BH context this may lead to
deadlocks.
To fix this just return the number of characters accepted and let the
upper layer handle the rest.
The console write function will busy wait (sclp_sync_wait) until a
buffer is available again.
Cc: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/block/dasd.c')
0 files changed, 0 insertions, 0 deletions