|
@@ -1676,9 +1676,6 @@ static int pl011_startup(struct uart_port *port)
|
|
|
|
|
|
writew(uap->vendor->ifls, uap->port.membase + UART011_IFLS);
|
|
|
|
|
|
- /* Assume that TX IRQ doesn't work until we see one: */
|
|
|
- uap->tx_irq_seen = 0;
|
|
|
-
|
|
|
spin_lock_irq(&uap->port.lock);
|
|
|
|
|
|
/* restore RTS and DTR */
|
|
@@ -1742,7 +1739,7 @@ static void pl011_shutdown(struct uart_port *port)
|
|
|
spin_lock_irq(&uap->port.lock);
|
|
|
uap->im = 0;
|
|
|
writew(uap->im, uap->port.membase + UART011_IMSC);
|
|
|
- writew(0xffff, uap->port.membase + UART011_ICR);
|
|
|
+ writew(0xffff & ~UART011_TXIS, uap->port.membase + UART011_ICR);
|
|
|
spin_unlock_irq(&uap->port.lock);
|
|
|
|
|
|
pl011_dma_shutdown(uap);
|