summaryrefslogtreecommitdiffstats
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 20:58:46 +0100
commitcdc32fd6f7b2b2580d7f1b74563f888e4dd9eb8a (patch)
tree4ad0042e30d0d678c953c383a9b0a2253bbf5813
parentUSB: cp210x: clean up, refactor and document speed handling (diff)
downloadlinux-cdc32fd6f7b2b2580d7f1b74563f888e4dd9eb8a.tar.xz
linux-cdc32fd6f7b2b2580d7f1b74563f888e4dd9eb8a.zip
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);
}