diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-11 08:16:57 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-11 08:16:57 -0800 |
commit | 7e4e574c391cdeef516411eb698ac6955f01d673 (patch) | |
tree | e9f3b05c464b82be608cef1a90688dd3719e1537 /drivers | |
parent | a4fc7ab1d065a9dd89ed0e74439ef87d4a16e980 (diff) | |
parent | 97b1b999748d3cde6a3f381e0839e0f1082323e6 (diff) | |
download | op-kernel-dev-7e4e574c391cdeef516411eb698ac6955f01d673.zip op-kernel-dev-7e4e574c391cdeef516411eb698ac6955f01d673.tar.gz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/char/viocons.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/char/viocons.c b/drivers/char/viocons.c index cb82ebf..faee5e7 100644 --- a/drivers/char/viocons.c +++ b/drivers/char/viocons.c @@ -131,7 +131,7 @@ static void initDataEvent(struct viocharlpevent *viochar, HvLpIndex lp); static struct tty_driver *viotty_driver; -void hvlog(char *fmt, ...) +static void hvlog(char *fmt, ...) { int i; unsigned long flags; @@ -147,7 +147,7 @@ void hvlog(char *fmt, ...) spin_unlock_irqrestore(&consoleloglock, flags); } -void hvlogOutput(const char *buf, int count) +static void hvlogOutput(const char *buf, int count) { unsigned long flags; int begin; @@ -904,6 +904,7 @@ static void vioHandleData(struct HvLpEvent *event) struct viocharlpevent *cevent = (struct viocharlpevent *)event; struct port_info *pi; int index; + int num_pushed; u8 port = cevent->virtual_device; if (port >= VTTY_PORTS) { @@ -964,6 +965,7 @@ static void vioHandleData(struct HvLpEvent *event) * functionality will only work if built into the kernel and * then only if sysrq is enabled through the proc filesystem. */ + num_pushed = 0; for (index = 0; index < cevent->len; index++) { #ifdef CONFIG_MAGIC_SYSRQ if (sysrq_enabled) { @@ -997,11 +999,10 @@ static void vioHandleData(struct HvLpEvent *event) printk(VIOCONS_KERN_WARN "input buffer overflow!\n"); break; } + num_pushed++; } - /* if cevent->len == 0 then no data was added to the buffer and flip.count == 0 */ - if (tty->flip.count) - /* The next call resets flip.count when the data is flushed. */ + if (num_pushed) tty_flip_buffer_push(tty); } |