serial: 8250: Check UART_SCR is writable
Au1x00/RT2800+ doesn't implement the 8250 scratch register (and
this may be true of other h/w currently supported by the 8250 driver);
read back the canary value written to the scratch register to enable
the console h/w restart after resume from system suspend.
Fixes: 4516d50aab
("serial: 8250: Use canary to restart console ...")
Reported-by: Mason <slash.tmp@free.fr>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
509cb7dc07
commit
f01a0bd892
1 changed files with 2 additions and 1 deletions
|
@ -3585,7 +3585,8 @@ void serial8250_suspend_port(int line)
|
|||
port->type != PORT_8250) {
|
||||
unsigned char canary = 0xa5;
|
||||
serial_out(up, UART_SCR, canary);
|
||||
up->canary = canary;
|
||||
if (serial_in(up, UART_SCR) == canary)
|
||||
up->canary = canary;
|
||||
}
|
||||
|
||||
uart_suspend_port(&serial8250_reg, port);
|
||||
|
|
Loading…
Reference in a new issue