Browse Source

serial: also set the uartclk value in resume after goes to highspeed

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 <greg@kroah.com>
CC: David Woodhouse <dwmw2@infradead.org>
CC: linux-kernel@vger.kernel.org
CC: stable@kernel.org
Signed-off-by: Yin Kangkai <kangkai.yin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Yin Kangkai 14 years ago
parent
commit
95926d2db6
1 changed files with 1 additions and 0 deletions
  1. 1 0
      drivers/tty/serial/8250.c

+ 1 - 0
drivers/tty/serial/8250.c

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