summaryrefslogtreecommitdiffstats
path: root/c/src/lib
diff options
context:
space:
mode:
authorPremysl Houdek <kom541000@gmail.com>2015-11-12 23:11:29 +0100
committerGedare Bloom <gedare@rtems.org>2015-11-18 10:19:01 -0500
commit08a98f757b42cfba92b51861bfc8154b3f5a676f (patch)
treebbe7cf16b22e51d24df900edf6832dd4d7b1123f /c/src/lib
parentbsp/tms570: Pinmux support and EMAC pin definition added (diff)
downloadrtems-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>
Diffstat (limited to 'c/src/lib')
-rw-r--r--c/src/lib/libbsp/arm/tms570/console/tms570-sci.c8
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 */