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:46 -0500 |
commit | 7e18dd9d205a7affa37fbfc26faa4696f3b245a4 (patch) | |
tree | c1bddc998717304e6dfcdd5ab2543fe1ec8182c3 /c/src/lib/libbsp/arm | |
parent | bsp/tms570: Pinmux support and EMAC pin definition added (diff) | |
download | rtems-7e18dd9d205a7affa37fbfc26faa4696f3b245a4.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>
Diffstat (limited to 'c/src/lib/libbsp/arm')
-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 */ |