Преглед изворни кода

serial: imx: Do not store/restore the UBRC register

UBRC is a read-only register, so we should not store and restore it inside
imx_flush_buffer().

Reported-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Fabio Estevam пре 10 година
родитељ
комит
4f86a95d75
1 измењених фајлова са 1 додато и 3 уклоњено
  1. 1 3
      drivers/tty/serial/imx.c

+ 1 - 3
drivers/tty/serial/imx.c

@@ -1320,7 +1320,7 @@ static void imx_flush_buffer(struct uart_port *port)
 	struct imx_port *sport = (struct imx_port *)port;
 	struct imx_port *sport = (struct imx_port *)port;
 	struct scatterlist *sgl = &sport->tx_sgl[0];
 	struct scatterlist *sgl = &sport->tx_sgl[0];
 	unsigned long temp;
 	unsigned long temp;
-	int i = 100, ubir, ubmr, ubrc, uts;
+	int i = 100, ubir, ubmr, uts;
 
 
 	if (!sport->dma_chan_tx)
 	if (!sport->dma_chan_tx)
 		return;
 		return;
@@ -1345,7 +1345,6 @@ static void imx_flush_buffer(struct uart_port *port)
 	 */
 	 */
 	ubir = readl(sport->port.membase + UBIR);
 	ubir = readl(sport->port.membase + UBIR);
 	ubmr = readl(sport->port.membase + UBMR);
 	ubmr = readl(sport->port.membase + UBMR);
-	ubrc = readl(sport->port.membase + UBRC);
 	uts = readl(sport->port.membase + IMX21_UTS);
 	uts = readl(sport->port.membase + IMX21_UTS);
 
 
 	temp = readl(sport->port.membase + UCR2);
 	temp = readl(sport->port.membase + UCR2);
@@ -1358,7 +1357,6 @@ static void imx_flush_buffer(struct uart_port *port)
 	/* Restore the registers */
 	/* Restore the registers */
 	writel(ubir, sport->port.membase + UBIR);
 	writel(ubir, sport->port.membase + UBIR);
 	writel(ubmr, sport->port.membase + UBMR);
 	writel(ubmr, sport->port.membase + UBMR);
-	writel(ubrc, sport->port.membase + UBRC);
 	writel(uts, sport->port.membase + IMX21_UTS);
 	writel(uts, sport->port.membase + IMX21_UTS);
 }
 }