From: Andrew Worsley Date: Tue, 22 Nov 2011 09:00:19 +0000 (+1100) Subject: USB: serial: ftdi_sio: Handle the old_termios == 0 case e.g. uart_resume_port() X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=c515598e0f5769916c31c00392cc2bfe6af74e55;p=deliverable%2Flinux.git USB: serial: ftdi_sio: Handle the old_termios == 0 case e.g. uart_resume_port() Handle null old_termios in ftdi_set_termios() calls from uart_resume_port(). Signed-off-by: Andrew Worsley Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index bd4298bb6750..13e4ecc6e43d 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c @@ -2104,6 +2104,9 @@ static void ftdi_set_termios(struct tty_struct *tty, cflag = termios->c_cflag; + if (old_termios == 0) + goto no_skip; + if (old_termios->c_cflag == termios->c_cflag && old_termios->c_ispeed == termios->c_ispeed && old_termios->c_ospeed == termios->c_ospeed) @@ -2117,6 +2120,7 @@ static void ftdi_set_termios(struct tty_struct *tty, (termios->c_cflag & (CSIZE|PARODD|PARENB|CMSPAR|CSTOPB))) goto no_data_parity_stop_changes; +no_skip: /* Set number of data bits, parity, stop bits */ urb_value = 0;