]> xenbits.xen.org Git - xenclient/xen-pq.git/commitdiff
cope-with-dead-serial: Remove bail.
authorJean Guyader <jean.guyader@eu.citrix.com>
Thu, 10 Dec 2009 00:24:40 +0000 (00:24 +0000)
committerJean Guyader <jean.guyader@eu.citrix.com>
Thu, 10 Dec 2009 00:24:40 +0000 (00:24 +0000)
master/cope-with-dead-serial

index 53ce969d3dc1df1a59def7a5ca27a717c20c8d1a..7eab790aa474a59cffb276ab467d0615ce7218d9 100644 (file)
@@ -1,35 +1,3 @@
-diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
-index 5fdfd91..9387944 100644
---- a/xen/drivers/char/ns16550.c
-+++ b/xen/drivers/char/ns16550.c
-@@ -127,8 +127,9 @@ static void ns16550_interrupt(
- {
-     struct serial_port *port = dev_id;
-     struct ns16550 *uart = port->uart;
-+    int bail = 0;
--    while ( !(ns_read_reg(uart, IIR) & IIR_NOINT) )
-+    while ( !(ns_read_reg(uart, IIR) & IIR_NOINT)  && (bail++ < 0x10))
-     {
-         char lsr = ns_read_reg(uart, LSR);
-         if ( lsr & LSR_THRE )
-@@ -143,11 +144,14 @@ static void ns16550_poll(void *data)
-     struct serial_port *port = data;
-     struct ns16550 *uart = port->uart;
-     struct cpu_user_regs *regs = guest_cpu_user_regs();
-+    int bail;
--    while ( ns_read_reg(uart, LSR) & LSR_DR )
-+    bail=0;
-+    while (( ns_read_reg(uart, LSR) & LSR_DR ) && (bail++ < 0x10))
-         serial_rx_interrupt(port, regs);
--    if ( ns_read_reg(uart, LSR) & LSR_THRE )
-+    bail=0;
-+    if (( ns_read_reg(uart, LSR) & LSR_THRE) && (bail++ < 0x10))
-         serial_tx_interrupt(port, regs);
-     set_timer(&uart->timer, NOW() + MILLISECS(uart->timeout_ms));
 diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c
 index 3d261ca..88512ae 100644
 --- a/xen/drivers/char/serial.c