kernel-ark/drivers/s390/char
Heiko Carstens d4820e44b0 [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>
2008-05-30 10:03:35 +02:00
..
con3215.c s390 tty: Prepare for put_char to return success/fail 2008-04-30 08:29:45 -07:00
con3270.c
ctrlchar.c
ctrlchar.h
defkeymap.c Build fix for drivers/s390/char/defkeymap.c 2008-03-04 08:01:26 -08:00
defkeymap.map
fs3270.c
Kconfig
keyboard.c
keyboard.h
Makefile [S390] sclp: convert channel path configure code to use sync interface. 2008-01-26 14:11:10 +01:00
monreader.c [S390] Remove code duplication from monreader / dcssblk. 2008-04-17 07:47:07 +02:00
monwriter.c [S390] drivers/s390: Add missing "space" 2008-01-26 14:11:19 +01:00
raw3270.c [S390] use LIST_HEAD instead of LIST_HEAD_INIT 2008-01-26 14:11:21 +01:00
raw3270.h
sclp_cmd.c [S390] Get rid of additional_cpus kernel parameter. 2008-01-26 14:11:15 +01:00
sclp_con.c
sclp_config.c [S390] Fix section mismatch warnings. 2008-05-30 10:03:34 +02:00
sclp_cpi_sys.c [S390] sclp: clean up send/receive naming scheme 2008-02-19 15:29:34 +01:00
sclp_cpi_sys.h [S390] sclp: sysfs interface for SCLP cpi 2008-01-26 14:11:08 +01:00
sclp_cpi.c [S390] sclp: sysfs interface for SCLP cpi 2008-01-26 14:11:08 +01:00
sclp_quiesce.c
sclp_rw.c [S390] sclp: clean up send/receive naming scheme 2008-02-19 15:29:34 +01:00
sclp_rw.h
sclp_sdias.c
sclp_tty.c s390 tty: Prepare for put_char to return success/fail 2008-04-30 08:29:45 -07:00
sclp_tty.h
sclp_vt220.c [S390] sclp_vt220: fix scheduling while atomic bug. 2008-05-30 10:03:35 +02:00
sclp.c [S390] sclp: clean up send/receive naming scheme 2008-02-19 15:29:34 +01:00
sclp.h [S390] sclp: clean up send/receive naming scheme 2008-02-19 15:29:34 +01:00
tape_34xx.c [S390] replace remaining __FUNCTION__ occurrences 2008-04-17 07:47:04 +02:00
tape_3590.c [S390] drivers/s390/: Spelling fixes 2008-01-26 14:11:26 +01:00
tape_3590.h
tape_block.c [S390] tape: Fix race condition in tape block device driver 2008-05-30 10:03:33 +02:00
tape_char.c [S390] tape: duplicate sysfs filename when setting tape device online 2008-04-17 07:46:59 +02:00
tape_class.c [S390] tape: duplicate sysfs filename when setting tape device online 2008-04-17 07:46:59 +02:00
tape_class.h [S390] tape: duplicate sysfs filename when setting tape device online 2008-04-17 07:46:59 +02:00
tape_core.c [S390] tape: Use ccw_dev_id to build cdev_id. 2008-05-15 16:52:40 +02:00
tape_proc.c s390: use non-racy method for proc entries creation 2008-04-29 08:06:21 -07:00
tape_std.c
tape_std.h
tape.h
tty3270.c [S390] tty3270: fix put_char fail/success conversion. 2008-05-07 09:23:02 +02:00
tty3270.h
vmcp.c
vmcp.h
vmlogrdr.c s390: fix race in device_create 2008-05-20 13:31:56 -07:00
vmur.c [S390] vmur: Use wait queue instead of mutex to serialize open 2008-04-17 07:46:59 +02:00
vmur.h [S390] vmur: Use wait queue instead of mutex to serialize open 2008-04-17 07:46:59 +02:00
vmwatchdog.c [S390] replace remaining __FUNCTION__ occurrences 2008-04-17 07:47:04 +02:00
zcore.c [S390] replace remaining __FUNCTION__ occurrences 2008-04-17 07:47:04 +02:00