summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohan Hovold <jhovold@gmail.com>2012-01-16 00:36:52 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2012-01-24 11:58:46 -0800
commitcdc32fd6f7b2b2580d7f1b74563f888e4dd9eb8a (patch)
tree4ad0042e30d0d678c953c383a9b0a2253bbf5813
parente5990874e511d5bbca23b3396419480cb2ca0ee7 (diff)
downloadlinux-cdc32fd6f7b2b2580d7f1b74563f888e4dd9eb8a.tar.gz
USB: cp210x: initialise baud rate at open
The newer cp2104 devices require the baud rate to be initialised after
power on. Make sure it is set when port is opened.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Cc: Preston Fick <preston.fick@silabs.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/serial/cp210x.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
index 2d2d23933ba6..5c3e8592fd22 100644
--- a/drivers/usb/serial/cp210x.c
+++ b/drivers/usb/serial/cp210x.c
@@ -417,6 +417,10 @@ static int cp210x_open(struct tty_struct *tty, struct usb_serial_port *port)
 	/* Configure the termios structure */
 	cp210x_get_termios(tty, port);
 
+	/* The baud rate must be initialised on cp2104 */
+	if (tty)
+		cp210x_change_speed(tty, port, NULL);
+
 	return usb_serial_generic_open(tty, port);
 }