From 08a98f757b42cfba92b51861bfc8154b3f5a676f Mon Sep 17 00:00:00 2001 From: Premysl Houdek Date: Thu, 12 Nov 2015 23:11:29 +0100 Subject: 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 --- c/src/lib/libbsp/arm/tms570/console/tms570-sci.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'c/src/lib/libbsp/arm/tms570') 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 */ -- cgit v1.2.3