X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fserial%2Fserial_core.c;fp=drivers%2Fserial%2Fserial_core.c;h=17839e753e4cfb1fb550832d8613b0ec579c83ef;hb=4e76c8a9fa413ccc09d3f7f664183dcce3555d57;hp=7abe532d7c94c54f1269d01f187e3ceb86493f4d;hpb=1db395853d4f30d6120458bd279ede1f882a8525;p=linux-2.6.git diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c index 7abe532d7..17839e753 100644 --- a/drivers/serial/serial_core.c +++ b/drivers/serial/serial_core.c @@ -1968,16 +1968,16 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *port) struct termios termios; /* - * Get the termios for this line + * First try to use the console cflag setting. */ - tty_get_termios(drv->tty_driver, port->line, &termios); + memset(&termios, 0, sizeof(struct termios)); + termios.c_cflag = port->cons->cflag; /* - * If the console cflag is still set, subsitute that - * for the termios cflag. + * If that's unset, use the tty termios setting. */ - if (port->cons->cflag) - termios.c_cflag = port->cons->cflag; + if (state->info && state->info->tty && termios.c_cflag == 0) + termios = *state->info->tty->termios; port->ops->set_termios(port, &termios, NULL); console_start(port->cons);