]> err.no Git - linux-2.6/blobdiff - drivers/usb/serial/pl2303.c
Merge branch 'upstream-jeff' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu...
[linux-2.6] / drivers / usb / serial / pl2303.c
index 4348c1feab4e73521fb76811eafab57b847e1a00..1da57fd9ea236f65db6670c682a26838da959e3e 100644 (file)
@@ -73,6 +73,7 @@ static struct usb_device_id id_table [] = {
        { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_SX1) },
        { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_X65) },
        { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_X75) },
+       { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_EF81) },
        { USB_DEVICE(SYNTECH_VENDOR_ID, SYNTECH_PRODUCT_ID) },
        { USB_DEVICE(NOKIA_CA42_VENDOR_ID, NOKIA_CA42_PRODUCT_ID) },
        { USB_DEVICE(CA_42_CA42_VENDOR_ID, CA_42_CA42_PRODUCT_ID) },
@@ -484,15 +485,6 @@ static void pl2303_set_termios(struct usb_serial_port *port,
        spin_unlock_irqrestore(&priv->lock, flags);
 
        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;
-               }
-       }
 
        buf = kzalloc(7, GFP_KERNEL);
        if (!buf) {
@@ -517,29 +509,7 @@ static void pl2303_set_termios(struct usb_serial_port *port,
                dbg("%s - data bits = %d", __FUNCTION__, buf[6]);
        }
 
-       baud = 0;
-       switch (cflag & CBAUD) {
-               case B0:        baud = 0;       break;
-               case B75:       baud = 75;      break;
-               case B150:      baud = 150;     break;
-               case B300:      baud = 300;     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 B9600:     baud = 9600;    break;
-               case B19200:    baud = 19200;   break;
-               case B38400:    baud = 38400;   break;
-               case B57600:    baud = 57600;   break;
-               case B115200:   baud = 115200;  break;
-               case B230400:   baud = 230400;  break;
-               case B460800:   baud = 460800;  break;
-               default:
-                       dev_err(&port->dev, "pl2303 driver does not support"
-                               " the baudrate requested (fix it)\n");
-                       break;
-       }
+       baud = tty_get_baud_rate(port->tty);;
        dbg("%s - baud = %d", __FUNCTION__, baud);
        if (baud) {
                buf[0] = baud & 0xff;