Patch "serial: imx: Fix clearing of receiver overrun flag" has been added to the 4.0-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
serial: imx: Fix clearing of receiver overrun flag
to the 4.0-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
serial-imx-fix-clearing-of-receiver-overrun-flag.patch
and it can be found in the queue-4.0 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
91555ce9012557b2d621d7b0b6ec694218a2a9bcMon Sep 17 00:00:00 2001
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <[email protected]>
Date: Tue, 24 Feb 2015 11:17:05 +0100
Subject: serial: imx: Fix clearing of receiver overrun flag
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <[email protected]>
commit 91555ce9012557b2d621d7b0b6ec694218a2a9bc upstream.
The writeable bits in the USR2 register are all "write 1 to clear" so only write the bits that actually should be cleared.
--- drivers/tty/serial/imx.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
drivers/tty/serial/imx.c +3 -5
@@ -818,7 +818,7 @@ static irqreturn_t imx_int(int irq, voidif (sts2 &USR2_ORE ) {dev_err (sport->port.dev,"Rx FIFO overrun\n" ); sport->port.icount.overrun++; -writel (sts2 |USR2_ORE , sport->port.membase +USR2 ); +writel (USR2_ORE , sport->port.membase +USR2 ); }return IRQ_HANDLED ;
@@ -1181,10 +1181,12 @@ static int imx_startup(struct uart_portimx_uart_dma_init (sport);spin_lock_irqsave (&sport->port.lock, flags); +/* * Finally, clear and enable interrupts */ writel (USR1_RTSD , sport->port.membase +USR1 ); +writel (USR2_ORE , sport->port.membase +USR2 );if (sport->dma_is_inited && !sport->dma_is_enabled)imx_enable_dma (sport);
@@ -1199,10 +1201,6 @@ static int imx_startup(struct uart_portwritel (temp, sport->port.membase +UCR1 ); -/* Clear any pending ORE flag before enabling interrupt */ - temp =readl (sport->port.membase +USR2 ); -writel (temp |USR2_ORE , sport->port.membase +USR2 ); - temp =readl (sport->port.membase +UCR4 ); temp |=UCR4_OREN ;writel (temp, sport->port.membase +UCR4 );
Patches currently in stable-queue which might be from [email protected] are
queue-4.0/ring-buffer-replace-this_cpu_-with-__this_cpu_.patch queue-4.0/serial-imx-fix-clearing-of-receiver-overrun-flag.patch