]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/tty/serial/amba-pl011.c
serial/amba-pl011: Leave the TX IRQ alone when the UART is not open
[linux.git] / drivers / tty / serial / amba-pl011.c
index 69910f7e3991c2aff7fac75e9b9bcadb620fab28..92783fc8a85123820ddc857b2e5cd91a1bfb2505 100644 (file)
@@ -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);