#2794 closed defect (fixed)

ARM TMS570 BSP: Serial port hangs when baudrate change initiates before all characters are sent

Reported by: Pavel Pisa Owned by:
Priority: normal Milestone: 4.11
Component: bsps Version: 4.11
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

The function tms570_sci_set_attributes() clears Tx enable interrupts and serial port core is never informed about final character transmission.

Change History (2)

comment:1 Changed on Oct 2, 2016 at 9:43:37 AM by Pavel Pisa

Fixed in 94e3c8384ff2573877d61f387eb090e2e5e12aff

bsp/tms570: ensure that change of SCI baudrate is not applied in the middle of character Tx.

The rtems_monitor_task() setups/updates termios attributes
of the opened TTY and if there is ongoing some other output
it leads to the stuck.

It would be better to use some termios API function which
would call drainOutput() in rtems/cpukit/libcsupport/src/termios.c.
But functionality is not accessible outside of core termios
implementation.

The loop waiting for last character to be sent has to be there anyway
because hardware does not provide Tx machine/shift register empty
interrupt.

Closes #2794

comment:2 Changed on Oct 2, 2016 at 9:44:07 AM by Pavel Pisa

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.