Hi Uli, On Fri, Feb 16, 2018 at 3:27 PM, Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> wrote: > On Thu, Feb 15, 2018 at 2:12 PM, Wolfram Sang <wsa@xxxxxxxxxxxxx> wrote: >>> This can be prevented by doing a dummy read of the RX data register. >> >> Just so I understand the issue correctly: We are reading the register to >> throw the content away to prevent it being used in the TTY buffers? > > Not quite. The problem was that if the buffers are full, > sci_receive_chars() returned immediately without reading anything from > the data register, and that led to a lockup. I am not fully sure why > that is so (I arrived at the fix by examining how the different code > paths look from the serial controller's perspective), but dropping > data here fixes it. At this point buffers are full, so any data > received will have to be discarded anyway. Do you get an interrupt storm, from the receive or overrun interrupt? Anyway, the patch makes sense to me, so Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds