Re: [BACKPORT 4.4.y 23/25] serial: sprd: clear timeout interrupt only rather than all interrupts

From: Greg KH
Date: Mon Mar 25 2019 - 21:35:06 EST


On Fri, Mar 22, 2019 at 04:44:14PM +0100, Arnd Bergmann wrote:
> From: Lanqing Liu <lanqing.liu@xxxxxxxxxxxxxx>
>
> On Spreadtrum's serial device, nearly all of interrupts would be cleared
> by hardware except timeout interrupt. This patch removed the operation
> of clearing all interrupt in irq handler, instead added an if statement
> to check if the timeout interrupt is supposed to be cleared.
>
> Wrongly clearing timeout interrupt would lead to uart data stay in rx
> fifo, that means the driver cannot read them out anymore.
>
> Signed-off-by: Lanqing Liu <lanqing.liu@xxxxxxxxxxxxxx>
> Signed-off-by: Chunyan Zhang <chunyan.zhang@xxxxxxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> (cherry picked from commit 4350782570b919f254c1e083261a21c19fcaee90)
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/tty/serial/sprd_serial.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)

Also added to 4.9.y