From 3a44cd477b437dfb9d4853d934f4ec64901a5757 Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Tue, 9 Aug 2011 16:59:01 +0000 Subject: [PATCH] tty: handle REVIVE case on console device . can happen on e.g. ^S . reported by Stephen Hatton --- drivers/tty/console.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/tty/console.c b/drivers/tty/console.c index 230f26fac..58d062d39 100644 --- a/drivers/tty/console.c +++ b/drivers/tty/console.c @@ -206,10 +206,14 @@ int try; /* Reply to the writer if all output is finished or if an error occured. */ if (tp->tty_outleft == 0 || result != OK) { - /* REVIVE is not possible. I/O on memory mapped consoles finishes. */ - tty_reply(tp->tty_outrepcode, tp->tty_outcaller, tp->tty_outproc, - tp->tty_outcum); - tp->tty_outcum = 0; + if(tp->tty_outrepcode == TTY_REVIVE) { + notify(tp->tty_outcaller); + tp->tty_outrevived = 1; + } else { + tty_reply(tp->tty_outrepcode, tp->tty_outcaller, + tp->tty_outproc, tp->tty_outcum); + tp->tty_outcum = 0; + } } return 0;