serial: pl011: fix fall back from DMA to interrupt mode
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Tue, 10 Dec 2013 13:54:47 +0000 (14:54 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Dec 2013 17:36:23 +0000 (09:36 -0800)
When falling back from DMA to interrupt mode the receive interrupt has to
be re-enabled to catch new incoming data.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/amba-pl011.c

index ea6c2a3..d58783d 100644 (file)
@@ -967,6 +967,8 @@ static void pl011_dma_rx_poll(unsigned long args)
 
                spin_lock_irqsave(&uap->port.lock, flags);
                pl011_dma_rx_stop(uap);
+               uap->im |= UART011_RXIM;
+               writew(uap->im, uap->port.membase + UART011_IMSC);
                spin_unlock_irqrestore(&uap->port.lock, flags);
 
                uap->dmarx.running = false;