From e370c5fc72fe58466d07c7bf55d37961d94403ac Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Thu, 2 Jan 2014 10:03:08 -0600 Subject: [PATCH] ZNEO: Fix lost serial interrupt bug --- arch/z16/src/z16f/z16f_serial.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/z16/src/z16f/z16f_serial.c b/arch/z16/src/z16f/z16f_serial.c index 1845fece8f..d2f1960251 100644 --- a/arch/z16/src/z16f/z16f_serial.c +++ b/arch/z16/src/z16f/z16f_serial.c @@ -507,6 +507,7 @@ static int z16f_txinterrupt(int irq, void *context) uart_xmitchars(dev); } + return OK; } @@ -619,6 +620,12 @@ static void z16f_txint(struct uart_dev_s *dev, bool enable) #ifndef CONFIG_SUPPRESS_SERIAL_INTS up_enable_irq(priv->txirq); #endif + + /* Fake a TX interrupt here by just calling uart_xmitchars() with + * interrupts disabled (note this may recurse). + */ + + uart_xmitchars(dev); } else {