aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2013-12-10 14:54:47 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-17 09:36:23 -0800
commitc25a1ad7077ab9914bad1374df8b9cdb9bf5f0ad (patch)
tree6fa1a82f074d90b0ac73a3bd2af06f519d365b14
parentserial: pl011: (cosmetic) remove superfluous register write (diff)
downloadlinux-dev-c25a1ad7077ab9914bad1374df8b9cdb9bf5f0ad.tar.xz
linux-dev-c25a1ad7077ab9914bad1374df8b9cdb9bf5f0ad.zip
serial: pl011: fix fall back from DMA to interrupt mode
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>
-rw-r--r--drivers/tty/serial/amba-pl011.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
index ea6c2a3798ff..d58783d364e3 100644
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -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;