Hi Uli, On Fri, Feb 16, 2018 at 3:27 PM, Ulrich Hecht <ulrich.hecht+rene...@gmail.com> wrote: > On Thu, Feb 15, 2018 at 2:12 PM, Wolfram Sang <w...@the-dreams.de> 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+rene...@glider.be> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org 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