Commit 507bd6fb authored by Ilpo Järvinen's avatar Ilpo Järvinen Committed by Greg Kroah-Hartman
Browse files
parent f8ba5680
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -138,7 +138,7 @@ static inline u16 serial_lsr_in(struct uart_8250_port *up)
	u16 lsr = up->lsr_saved_flags;

	lsr |= serial_in(up, UART_LSR);
	up->lsr_saved_flags = lsr & LSR_SAVE_FLAGS;
	up->lsr_saved_flags = lsr & up->lsr_save_mask;

	return lsr;
}
+4 −0
Original line number Diff line number Diff line
@@ -1007,6 +1007,7 @@ int serial8250_register_8250_port(const struct uart_8250_port *up)
		uart->port.rs485	= up->port.rs485;
		uart->rs485_start_tx	= up->rs485_start_tx;
		uart->rs485_stop_tx	= up->rs485_stop_tx;
		uart->lsr_save_mask	= up->lsr_save_mask;
		uart->dma		= up->dma;

		/* Take tx_loadsz from fifosize if it wasn't set separately */
@@ -1094,6 +1095,9 @@ int serial8250_register_8250_port(const struct uart_8250_port *up)
			ret = 0;
		}

		if (!uart->lsr_save_mask)
			uart->lsr_save_mask = LSR_SAVE_FLAGS;	/* Use default LSR mask */

		/* Initialise interrupt backoff work if required */
		if (up->overrun_backoff_time_ms > 0) {
			uart->overrun_backoff_time_ms =
+1 −1
Original line number Diff line number Diff line
@@ -129,7 +129,7 @@ static void dw8250_tx_wait_empty(struct uart_port *p)

	while (tries--) {
		lsr = readb (p->membase + (UART_LSR << p->regshift));
		up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS;
		up->lsr_saved_flags |= lsr & up->lsr_save_mask;

		if (lsr & UART_LSR_TEMT)
			break;
+1 −0
Original line number Diff line number Diff line
@@ -120,6 +120,7 @@ struct uart_8250_port {
	 */
#define LSR_SAVE_FLAGS UART_LSR_BRK_ERROR_BITS
	u16			lsr_saved_flags;
	u16			lsr_save_mask;
#define MSR_SAVE_FLAGS UART_MSR_ANY_DELTA
	unsigned char		msr_saved_flags;