diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2007-12-19 15:02:05 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2007-12-19 15:02:05 +0000 |
commit | be169a04bc6b64b1acd881a54203d2788573364c (patch) | |
tree | 2591917ac41367bb4bbc5ed88ee3211fb3e88174 | |
parent | f28baafaafbf79b286344f302e04ad8659efba89 (diff) | |
download | xen-be169a04bc6b64b1acd881a54203d2788573364c.tar.gz xen-be169a04bc6b64b1acd881a54203d2788573364c.tar.bz2 xen-be169a04bc6b64b1acd881a54203d2788573364c.zip |
Fix serial output of carriage return when using high-bit stream muxing.
Original patch by Dan Doucette.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-rw-r--r-- | xen/drivers/char/serial.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c index a9c91e87eb..2cbb475dab 100644 --- a/xen/drivers/char/serial.c +++ b/xen/drivers/char/serial.c @@ -137,7 +137,7 @@ void serial_putc(int handle, char c) spin_lock_irqsave(&port->tx_lock, flags); if ( (c == '\n') && (handle & SERHND_COOKED) ) - __serial_putc(port, '\r'); + __serial_putc(port, '\r' | ((handle & SERHND_HI) ? 0x80 : 0x00)); if ( handle & SERHND_HI ) c |= 0x80; @@ -167,7 +167,7 @@ void serial_puts(int handle, const char *s) while ( (c = *s++) != '\0' ) { if ( (c == '\n') && (handle & SERHND_COOKED) ) - __serial_putc(port, '\r'); + __serial_putc(port, '\r' | ((handle & SERHND_HI) ? 0x80 : 0x00)); if ( handle & SERHND_HI ) c |= 0x80; |