UARTs which do not trigger THRE interrupt if the fifo is already empty when the interrupt is enabled need tx primed manually. These UARTs are identified by the UART_BUG_TXEN flag to enable the required workaround. However, the current workaround is broken; if the fifo is already empty but the shifter is still transmitting, then serial8250_tx_chars() will not be called but no further THRE interrupt will occur, and tx will stall. The appropriate check is for fifo empty (THRE), not transmitter empty (TEMT). Signed-off-by: Dick Hollenbeck <dick@softplc.com> [pjh: rewrote commit log] Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|---|---|---|
| .. | ||
| 8250.h | ||
| 8250_accent.c | ||
| 8250_acorn.c | ||
| 8250_boca.c | ||
| 8250_core.c | ||
| 8250_dma.c | ||
| 8250_dw.c | ||
| 8250_early.c | ||
| 8250_em.c | ||
| 8250_exar_st16c554.c | ||
| 8250_fintek.c | ||
| 8250_fourport.c | ||
| 8250_fsl.c | ||
| 8250_gsc.c | ||
| 8250_hp300.c | ||
| 8250_hub6.c | ||
| 8250_mtk.c | ||
| 8250_omap.c | ||
| 8250_pci.c | ||
| 8250_pnp.c | ||
| Kconfig | ||
| Makefile | ||
| serial_cs.c | ||