bcm283x_pl011: Flush RX queue after setting baud rate
authorAlexander Graf <agraf@suse.de>
Wed, 7 Mar 2018 21:08:25 +0000 (22:08 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 9 Mar 2018 17:31:04 +0000 (12:31 -0500)
commitc9bf43dd9d49c5024a9a361b5168ef664186c22a
tree45647f78f24d9a6dc710292d143571d0629c687c
parent293b9814d760aa736fb4dc6cf0a579aa431282f6
bcm283x_pl011: Flush RX queue after setting baud rate

After the UART was initialized, we may still have bogus data in the
RX queue if it was enabled with incorrect pin muxing before.

So let's flush the RX queue whenever we initialize baud rates.

This fixes a regression with the dynamic pinmuxing code when enable_uart=1
is not set in config.txt on Raspberry Pis that use pl011 for serial.

Fixes: caf2233b28 ("bcm283x: Add pinctrl driver")
Reported-by: Göran Lundberg <goran@lundberg.email>
Reported-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Tuomas Tynkkynen <tuomas@tuxera.com>
drivers/serial/serial_bcm283x_pl011.c
drivers/serial/serial_pl01x.c
drivers/serial/serial_pl01x_internal.h