On Sun, Oct 29, 2017 at 04:27:21PM +0100, Jonas Gorski wrote: > Since commit aef9a7bd9b67 ("serial/uart/8250: Add tunable RX interrupt > trigger I/F of FIFO buffers"), the port's default FCR value isn't used > in serial8250_do_set_termios anymore, but copied over once in > serial8250_config_port and then modified as needed. > > Unfortunately, serial8250_config_port will never be called if the port > is shared between kernel and userspace, and the port's flag doesn't have > UPF_BOOT_AUTOCONF, which would trigger a serial8250_config_port as well. > > This causes garbled output from userspace: > > [ 5.220000] random: procd urandom read with 49 bits of entropy available > ers > [kee > > Fix this by forcing it to be configured on boot, resulting in the > expected output: > > [ 5.250000] random: procd urandom read with 50 bits of entropy available > Press the [f] key and hit [enter] to enter failsafe mode > Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level > > Fixes: aef9a7bd9b67 ("serial/uart/8250: Add tunable RX interrupt trigger I/F of FIFO buffers") > Signed-off-by: Jonas Gorski <jonas.gorski@xxxxxxxxx> > --- > I'm not sure if this is just AR7's issue, or if this points to a general > issue for UARTs used as kernel console and login console with the "fixed" > commit. Thanks. Given nobody seems to have objected, I've applied to my mips-fixes branch, with stable tag for 3.17+. Cheers James > > arch/mips/ar7/platform.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/mips/ar7/platform.c b/arch/mips/ar7/platform.c > index 4674f1efbe7a..e1675c25d5d4 100644 > --- a/arch/mips/ar7/platform.c > +++ b/arch/mips/ar7/platform.c > @@ -575,7 +575,7 @@ static int __init ar7_register_uarts(void) > uart_port.type = PORT_AR7; > uart_port.uartclk = clk_get_rate(bus_clk) / 2; > uart_port.iotype = UPIO_MEM32; > - uart_port.flags = UPF_FIXED_TYPE; > + uart_port.flags = UPF_FIXED_TYPE | UPF_BOOT_AUTOCONF; > uart_port.regshift = 2; > > uart_port.line = 0; > -- > 2.13.2 > >
Attachment:
signature.asc
Description: Digital signature