diff options
author | Jeff Dike <jdike@addtoit.com> | 2006-01-06 03:18:58 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-06 11:33:46 -0500 |
commit | 9159c9dfffe1746d58b015ceaa3b7b8e99ee9d5c (patch) | |
tree | 938b1a30d0d127ed05e8145af2ddcd1c07719ac0 /arch/um/drivers/chan_kern.c | |
parent | 165dc5911627a9c4752e909a0da661b96b6fd269 (diff) |
[PATCH] uml: Fix flip_buf full handling
When the tty flip_buf is full, it's a good idea to delay the input processing
for a jiffy, rather than just scheduling the tasklet immediately.
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/um/drivers/chan_kern.c')
-rw-r--r-- | arch/um/drivers/chan_kern.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c index 1bb920c0d77a..36df55ad64c2 100644 --- a/arch/um/drivers/chan_kern.c +++ b/arch/um/drivers/chan_kern.c | |||
@@ -629,7 +629,7 @@ void chan_interrupt(struct list_head *chans, struct work_struct *task, | |||
629 | do { | 629 | do { |
630 | if((tty != NULL) && | 630 | if((tty != NULL) && |
631 | (tty->flip.count >= TTY_FLIPBUF_SIZE)){ | 631 | (tty->flip.count >= TTY_FLIPBUF_SIZE)){ |
632 | schedule_work(task); | 632 | schedule_delayed_work(task, 1); |
633 | goto out; | 633 | goto out; |
634 | } | 634 | } |
635 | err = chan->ops->read(chan->fd, &c, chan->data); | 635 | err = chan->ops->read(chan->fd, &c, chan->data); |