linux/drivers/s390/char
Heiko Carstens 5e34599fc8 [S390] sclp_tty: Fix scheduling while atomic bug.
Finally fixes a possible scheduling while in atomic context bug. The driver
used to wait on a waitqueue if no empty buffer was available. This could
lead to a deadlock if the driver was called from non-schedulable context.
So fix this. The write operation may fail now. It returns the number of
characters accepted. put_char will never fail, since it writes characters
to an intermediate buffer which gets flushed as soon as it is full.
That means the driver now can busy wait if something is in the intermediate
buffer and a write_string operation follows. Seems to be an acceptable
compromise, since that shouldn't happen too often.

Cc: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
2008-07-14 10:02:25 +02:00
..
con3215.c [S390] Remove P390 support. 2008-07-14 10:02:25 +02:00
con3270.c [S390] cio: introduce fcx enabled scsw format 2008-07-14 10:02:07 +02:00
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 [S390] Cleanup 3270 printk messages. 2008-07-14 10:02:18 +02:00
Kconfig
keyboard.c unicode diacritics support 2007-10-17 08:42:52 -07:00
keyboard.h unicode diacritics support 2007-10-17 08:42:52 -07:00
Makefile [S390] sclp: convert channel path configure code to use sync interface. 2008-01-26 14:11:10 +01:00
monreader.c [S390] Cleanup monreader printk messages. 2008-07-14 10:02:22 +02:00
monwriter.c [S390] drivers/s390: Add missing "space" 2008-01-26 14:11:19 +01:00
raw3270.c [S390] Cleanup 3270 printk messages. 2008-07-14 10:02:18 +02:00
raw3270.h
sclp_cmd.c [S390] Move memory detection code to own file. 2008-07-14 10:02:17 +02:00
sclp_con.c [S390] sclp_tty: remove ioctl interface. 2008-07-14 10:02:25 +02:00
sclp_config.c [S390] Cleanup sclp printk messages. 2008-07-14 10:02:19 +02:00
sclp_cpi_sys.c [S390] Cleanup sclp printk messages. 2008-07-14 10:02:19 +02: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 [S390] Cleanup sclp printk messages. 2008-07-14 10:02:19 +02:00
sclp_rw.c [S390] Cleanup sclp printk messages. 2008-07-14 10:02:19 +02:00
sclp_rw.h
sclp_sdias.c [S390] Cleanup sclp printk messages. 2008-07-14 10:02:19 +02:00
sclp_tty.c [S390] sclp_tty: Fix scheduling while atomic bug. 2008-07-14 10:02:25 +02:00
sclp_tty.h [S390] sclp_tty: remove ioctl interface. 2008-07-14 10:02:25 +02:00
sclp_vt220.c [S390] Cleanup sclp printk messages. 2008-07-14 10:02:19 +02:00
sclp.c [S390] Remove P390 support. 2008-07-14 10:02:25 +02:00
sclp.h [S390] sclp: clean up send/receive naming scheme 2008-02-19 15:29:34 +01:00
tape_34xx.c [S390] cio: introduce fcx enabled scsw format 2008-07-14 10:02:07 +02:00
tape_3590.c [S390] cio: introduce fcx enabled scsw format 2008-07-14 10:02:07 +02: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] cio: introduce fcx enabled scsw format 2008-07-14 10:02:07 +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 [S390] tape: fix race with stack local wait_queue_head_t. 2008-05-30 10:03:36 +02:00
tty3270.c [S390] Cleanup 3270 printk messages. 2008-07-14 10:02:18 +02:00
tty3270.h [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
vmcp.c [S390] Cleanup vmcp printk messages. 2008-07-14 10:02:24 +02:00
vmcp.h
vmlogrdr.c [S390] Cleanup vmlogrdr printk messages. 2008-07-14 10:02:22 +02:00
vmur.c [S390] cio: introduce fcx enabled scsw format 2008-07-14 10:02:07 +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] Cleanup vmwatch printk messages. 2008-07-14 10:02:23 +02:00
zcore.c [S390] Cleanup zfcp dumper printk messages. 2008-07-14 10:02:23 +02:00