Commit 46dd6d77 authored by Atsushi Nemoto's avatar Atsushi Nemoto Committed by Greg Kroah-Hartman
Browse files

serial: fsl_lpuart: consider TX FIFO too in lpuart32_tx_empty



The commit 3876a00fcb6b ("tty: serial: fsl_lpuart: consider TX FIFO
too in tx_empty") fixed lpuart_tx_empty only.
Fix lpuart32_tx_empty too.

Signed-off-by: default avatarAtsushi Nemoto <atsushi.nemoto@sord.co.jp>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b0b2735a
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -664,8 +664,18 @@ static unsigned int lpuart_tx_empty(struct uart_port *port)

static unsigned int lpuart32_tx_empty(struct uart_port *port)
{
	return (lpuart32_read(port, UARTSTAT) & UARTSTAT_TC) ?
		TIOCSER_TEMT : 0;
	struct lpuart_port *sport = container_of(port,
			struct lpuart_port, port);
	unsigned long stat = lpuart32_read(port, UARTSTAT);
	unsigned long sfifo = lpuart32_read(port, UARTFIFO);

	if (sport->dma_tx_in_progress)
		return 0;

	if (stat & UARTSTAT_TC && sfifo & UARTFIFO_TXEMPT)
		return TIOCSER_TEMT;

	return 0;
}

static bool lpuart_is_32(struct lpuart_port *sport)