|
@@ -470,16 +470,13 @@ static void pl2303_set_termios(struct usb_serial_port *port,
|
|
|
|
|
|
dbg("%s - port %d", __FUNCTION__, port->number);
|
|
dbg("%s - port %d", __FUNCTION__, port->number);
|
|
|
|
|
|
- if ((!port->tty) || (!port->tty->termios)) {
|
|
|
|
- dbg("%s - no tty structures", __FUNCTION__);
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
spin_lock_irqsave(&priv->lock, flags);
|
|
spin_lock_irqsave(&priv->lock, flags);
|
|
if (!priv->termios_initialized) {
|
|
if (!priv->termios_initialized) {
|
|
*(port->tty->termios) = tty_std_termios;
|
|
*(port->tty->termios) = tty_std_termios;
|
|
port->tty->termios->c_cflag = B9600 | CS8 | CREAD |
|
|
port->tty->termios->c_cflag = B9600 | CS8 | CREAD |
|
|
HUPCL | CLOCAL;
|
|
HUPCL | CLOCAL;
|
|
|
|
+ port->tty->termios->c_ispeed = 9600;
|
|
|
|
+ port->tty->termios->c_ospeed = 9600;
|
|
priv->termios_initialized = 1;
|
|
priv->termios_initialized = 1;
|
|
}
|
|
}
|
|
spin_unlock_irqrestore(&priv->lock, flags);
|
|
spin_unlock_irqrestore(&priv->lock, flags);
|
|
@@ -596,6 +593,10 @@ static void pl2303_set_termios(struct usb_serial_port *port,
|
|
dbg ("0x40:0x1:0x0:0x0 %d", i);
|
|
dbg ("0x40:0x1:0x0:0x0 %d", i);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /* FIXME: Need to read back resulting baud rate */
|
|
|
|
+ if (baud)
|
|
|
|
+ tty_encode_baud_rate(port->tty, baud, baud);
|
|
|
|
+
|
|
kfree(buf);
|
|
kfree(buf);
|
|
}
|
|
}
|
|
|
|
|