From: Jeff Dike Date: Fri, 6 Jan 2006 08:18:58 +0000 (-0800) Subject: [PATCH] uml: Fix flip_buf full handling X-Git-Tag: v2.6.16-rc1~936^2~136 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=9159c9dfffe1746d58b015ceaa3b7b8e99ee9d5c;p=~emulex%2Finfiniband.git [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 Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c index 1bb920c0d77..36df55ad64c 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, do { if((tty != NULL) && (tty->flip.count >= TTY_FLIPBUF_SIZE)){ - schedule_work(task); + schedule_delayed_work(task, 1); goto out; } err = chan->ops->read(chan->fd, &c, chan->data);