From 68368a0c832f913dfa10e737f4d1b097c740d25c Mon Sep 17 00:00:00 2001 From: Jean Guyader Date: Thu, 10 Dec 2009 00:24:40 +0000 Subject: [PATCH] cope-with-dead-serial: Remove bail. --- master/cope-with-dead-serial | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/master/cope-with-dead-serial b/master/cope-with-dead-serial index 53ce969..7eab790 100644 --- a/master/cope-with-dead-serial +++ b/master/cope-with-dead-serial @@ -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 -- 2.39.5