Thread (19 messages) 19 messages, 5 authors, 2012-03-12

RE: [PATCH] Clear previous interrupts after fifo is disabled

From: Kim, Jong-Sung <hidden>
Date: 2012-03-12 01:24:32
Also in: lkml

-----Original Message-----
From: Chanho Min [mailto:chanho0207@gmail.com]
Sent: Saturday, March 10, 2012 11:15 AM
To: Greg Kroah-Hartman
Cc: Linus Walleij; Russell King; Alan Cox; Shreshtha Kumar Sahu; Kim,
Jong-
Sung; linux-kernel@vger.kernel.org; linux-serial@vger.kernel.org
Subject: Re: [PATCH] Clear previous interrupts after fifo is disabled
quoted
quoted
To me it seems Russell's patch solves part of the problem, and
Jong-Sung Kim's patch on top of that solves the entire problem, but
Chanho need to come back and tell whether this is the case in
practice.
Ok, then, once it is tested, can someone resend them to me?

thanks,

greg k-h
I checked that Jong-Sung Kim's patch solved this hang-up issue and agree
on
it. But, RTIS seems to be cleared as well.
You're right. RTIS should be cleared as well as RXIS. Revised patch:
diff --git a/drivers/tty/serial/amba-pl011.c
b/drivers/tty/serial/amba-pl011.c
index 6800f5f..39520db 100644
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -224,6 +224,11 @@ static int pl011_fifo_to_tty(struct uart_amba_port
*uap)
 		uart_insert_char(&uap->port, ch, UART011_DR_OE, ch, flag);
 	}
 
+	/* RTIS and/or RXIS, but RXFE? Just clear the interrupt(s) */
+	if(unlikely(fifotaken == 0))
+		writew(UART011_RTIS | UART011_RXIS, uap->port.membase +
+		       UART011_ICR);
+
 	return fifotaken;
 }
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help