Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 63201
b: refs/heads/master
c: 01e96d2
h: refs/heads/master
i:
  63199: 1336989
v: v3
  • Loading branch information
Alan Cox authored and Greg Kroah-Hartman committed Jul 30, 2007
1 parent 8ec89a2 commit 345f9cc
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 43 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 67f5dde3d4961032aeeecaf0d1c7a9232bef3f44
refs/heads/master: 01e96d282a062f09923fea33e1039719925d09b8
69 changes: 27 additions & 42 deletions trunk/drivers/usb/serial/cp2101.c
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@ static void cp2101_get_termios (struct usb_serial_port *port)

dbg("%s - port %d", __FUNCTION__, port->number);

if ((!port->tty) || (!port->tty->termios)) {
if (!port->tty || !port->tty->termios) {
dbg("%s - no tty structures", __FUNCTION__);
return;
}
Expand Down Expand Up @@ -526,50 +526,35 @@ static void cp2101_set_termios (struct usb_serial_port *port,
return;
}
cflag = port->tty->termios->c_cflag;

/* Check that they really want us to change something */
if (old_termios) {
if ((cflag == old_termios->c_cflag) &&
(RELEVANT_IFLAG(port->tty->termios->c_iflag)
== RELEVANT_IFLAG(old_termios->c_iflag))) {
dbg("%s - nothing to change...", __FUNCTION__);
return;
}

old_cflag = old_termios->c_cflag;
}
old_cflag = old_termios->c_cflag;
baud = tty_get_baud_rate(port->tty);

/* If the baud rate is to be updated*/
if ((cflag & CBAUD) != (old_cflag & CBAUD)) {
switch (cflag & CBAUD) {
/*
* The baud rates which are commented out below
* appear to be supported by the device
* but are non-standard
*/
case B0: baud = 0; break;
case B600: baud = 600; break;
case B1200: baud = 1200; break;
case B1800: baud = 1800; break;
case B2400: baud = 2400; break;
case B4800: baud = 4800; break;
/*case B7200: baud = 7200; break;*/
case B9600: baud = 9600; break;
/*ase B14400: baud = 14400; break;*/
case B19200: baud = 19200; break;
/*case B28800: baud = 28800; break;*/
case B38400: baud = 38400; break;
/*case B55854: baud = 55054; break;*/
case B57600: baud = 57600; break;
case B115200: baud = 115200; break;
/*case B127117: baud = 127117; break;*/
case B230400: baud = 230400; break;
case B460800: baud = 460800; break;
case B921600: baud = 921600; break;
/*case B3686400: baud = 3686400; break;*/
if (baud != tty_termios_baud_rate(old_termios)) {
switch (baud) {
case 0:
case 600:
case 1200:
case 1800:
case 2400:
case 4800:
case 7200:
case 9600:
case 14400:
case 19200:
case 28800:
case 38400:
case 55854:
case 57600:
case 115200:
case 127117:
case 230400:
case 460800:
case 921600:
case 3686400:
break;
default:
dev_err(&port->dev, "cp2101 driver does not "
"support the baudrate requested\n");
baud = 9600;
break;
}

Expand Down

0 comments on commit 345f9cc

Please sign in to comment.