aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-03-22 10:24:17 +0000
committerKeir Fraser <keir.fraser@citrix.com>2010-03-22 10:24:17 +0000
commit078632963422644ee3a52f7d0fecb4af1026c235 (patch)
tree5630f88bd34cd20df49f179eef583fec3c12f9da
parent978f36d60a68c0ea939920d1bdc8bed9910045d4 (diff)
downloadxen-078632963422644ee3a52f7d0fecb4af1026c235.tar.gz
xen-078632963422644ee3a52f7d0fecb4af1026c235.tar.bz2
xen-078632963422644ee3a52f7d0fecb4af1026c235.zip
ns16550: Do not re-init active timer on S3 resume.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-rw-r--r--xen/drivers/char/ns16550.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index f1981a24ba..3aa8e24c53 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -259,7 +259,9 @@ static void __devinit ns16550_init_postirq(struct serial_port *port)
serial_async_transmit(port);
- init_timer(&uart->timer, ns16550_poll, port, 0);
+ if ( !uart->timer.function )
+ init_timer(&uart->timer, ns16550_poll, port, 0);
+
/* Calculate time to fill RX FIFO and/or empty TX FIFO for polling. */
bits = uart->data_bits + uart->stop_bits + !!uart->parity;
uart->timeout_ms = max_t(