]> err.no Git - linux-2.6/blobdiff - drivers/usb/serial/whiteheat.c
Pull thinkpad-2.6.24 into release branch
[linux-2.6] / drivers / usb / serial / whiteheat.c
index 8611ee56961391cdc55c8c92594b610782757490..ee5dd8b5a7131b23846d153586686f1163fa7dec 100644 (file)
@@ -885,25 +885,7 @@ static int whiteheat_ioctl (struct usb_serial_port *port, struct file * file, un
 static void whiteheat_set_termios(struct usb_serial_port *port, struct ktermios *old_termios)
 {
        dbg("%s -port %d", __FUNCTION__, port->number);
-
-       if ((!port->tty) || (!port->tty->termios)) {
-               dbg("%s - no tty structures", __FUNCTION__);
-               goto exit;
-       }
-       
-       /* check that they really want us to change something */
-       if (old_termios) {
-               if ((port->tty->termios->c_cflag == old_termios->c_cflag) &&
-                   (port->tty->termios->c_iflag == old_termios->c_iflag)) {
-                       dbg("%s - nothing to change...", __FUNCTION__);
-                       goto exit;
-               }
-       }
-
        firm_setup_port(port);
-
-exit:
-       return;
 }
 
 
@@ -1253,6 +1235,8 @@ static int firm_setup_port(struct usb_serial_port *port) {
        port_settings.baud = tty_get_baud_rate(port->tty);
        dbg("%s - baud rate = %d", __FUNCTION__, port_settings.baud);
 
+       /* fixme: should set validated settings */
+       tty_encode_baud_rate(port->tty, port_settings.baud, port_settings.baud);
        /* handle any settings that aren't specified in the tty structure */
        port_settings.lloop = 0;