serial: also set the uartclk value in resume after goes to highspeed
authorYin Kangkai <[email protected]>
Wed, 9 Feb 2011 03:34:20 +0000 (11:34 +0800)
committerGreg Kroah-Hartman <[email protected]>
Thu, 17 Feb 2011 19:23:49 +0000 (11:23 -0800)
For any reason if the NS16550A was not work in high speed mode (e.g. we hold
NS16550A from going to high speed mode in autoconfig_16550a()), now we are
resume from suspend, we should also set the uartclk to the correct
value. Otherwise it is still the old 1843200 and that will bring issues.

CC: Greg Kroah-Hartman <[email protected]>
CC: David Woodhouse <[email protected]>
CC: [email protected]
CC: [email protected]
Signed-off-by: Yin Kangkai <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
drivers/tty/serial/8250.c

index 3975df6f7fdba6f4bff57f9c7fa05a8ae1bbeadf..c10a6a909c7641658aee66f0355f4fe309997e88 100644 (file)
@@ -3036,6 +3036,7 @@ void serial8250_resume_port(int line)
                serial_outp(up, 0x04, tmp);
 
                serial_outp(up, UART_LCR, 0);
+               up->port.uartclk = 921600*16;
        }
        uart_resume_port(&serial8250_reg, &up->port);
 }