diff options
author | Premysl Houdek <kom541000@gmail.com> | 2015-11-12 23:11:29 +0100 |
---|---|---|
committer | Gedare Bloom <gedare@rtems.org> | 2015-11-18 10:19:01 -0500 |
commit | 08a98f757b42cfba92b51861bfc8154b3f5a676f (patch) | |
tree | bbe7cf16b22e51d24df900edf6832dd4d7b1123f | |
parent | bsp/tms570: Pinmux support and EMAC pin definition added (diff) | |
download | rtems-08a98f757b42cfba92b51861bfc8154b3f5a676f.tar.bz2 |
bsp/tms570: fixed sci driver freeze when closing terminal bug
tms570_sci_interrupt_last_close: do not wait for old data transmit.
Signed-off-by: Premysl Houdek <kom541000@gmail.com>
-rw-r--r-- | c/src/lib/libbsp/arm/tms570/console/tms570-sci.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/arm/tms570/console/tms570-sci.c b/c/src/lib/libbsp/arm/tms570/console/tms570-sci.c index 54c1b6918a..a799a666a0 100644 --- a/c/src/lib/libbsp/arm/tms570/console/tms570-sci.c +++ b/c/src/lib/libbsp/arm/tms570/console/tms570-sci.c @@ -531,9 +531,11 @@ static void tms570_sci_interrupt_last_close( tms570_sci_disable_interrupts(ctx); rtems_termios_device_lock_release(base, &lock_context); - /* Flush device */ - while ( ( ctx->regs->FLR & TMS570_SCI_FLR_TX_EMPTY ) > 0 ) { - ;/* Wait until all data has been sent */ + if ( 0 /* for flush on close */ ) { + /* Flush device */ + while ( ( ctx->regs->FLR & TMS570_SCI_FLR_TX_EMPTY ) == 0 ) { + ;/* Wait until all data has been sent */ + } } /* uninstall ISR */ |