serial: sh: Handle HSCIF RX FIFO overflow
authorMarek Vasut <marek.vasut+renesas@mailbox.org>
Sun, 7 Sep 2025 19:16:27 +0000 (21:16 +0200)
committerMarek Vasut <marek.vasut+renesas@mailbox.org>
Fri, 17 Oct 2025 19:53:52 +0000 (21:53 +0200)
commit92b779cd9f1493dad467b08e94c916b66270c47c
tree0c2f9164fa3ebd6ed91ae6ec415f117861618427
parenta1a898588c803da43d625e5ca25cb4c78f80c7f3
serial: sh: Handle HSCIF RX FIFO overflow

The HSCIF RX FIFO may overflow when data are streaming from remote end
into the HSCIF while U-Boot is still starting up. In that case, HSFSR
bit RDF is set, but HSFDR field R is zero. This confuses .tstc callback
into considering RX FIFO to be empty, which leads to .getc to be never
invoked, even when user attempts to pass more input onto the command
line.

Fix this by considering the RDF flag in serial_rx_fifo_level(), which
is called from .tstc in case of no errors. If RDF flag is set, trigger
the .getc callback and let it clear the RX FIFO.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
drivers/serial/serial_sh.c