usb serial: more fixes and groundwork for tty changes
- If a termios change fails due to lack of memory we should copy the old settings back over as the device has not changed - Note various locking problems - kl5kusb105 had various remaining tty flag handling problems - Make safe_serial use tty_insert_flip_string not open coded loops - set termios speed properly in usb_serial Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
441b62c1ed
commit
a5b6f60c5a
@@ -262,13 +262,14 @@ int usb_serial_generic_write_room (struct usb_serial_port *port)
|
||||
|
||||
dbg("%s - port %d", __func__, port->number);
|
||||
|
||||
/* FIXME: Locking */
|
||||
if (serial->num_bulk_out) {
|
||||
if (!(port->write_urb_busy))
|
||||
room = port->bulk_out_size;
|
||||
}
|
||||
|
||||
dbg("%s - returns %d", __func__, room);
|
||||
return (room);
|
||||
return room;
|
||||
}
|
||||
|
||||
int usb_serial_generic_chars_in_buffer (struct usb_serial_port *port)
|
||||
@@ -278,6 +279,7 @@ int usb_serial_generic_chars_in_buffer (struct usb_serial_port *port)
|
||||
|
||||
dbg("%s - port %d", __func__, port->number);
|
||||
|
||||
/* FIXME: Locking */
|
||||
if (serial->num_bulk_out) {
|
||||
if (port->write_urb_busy)
|
||||
chars = port->write_urb->transfer_buffer_length;
|
||||
@@ -368,7 +370,6 @@ void usb_serial_generic_write_bulk_callback (struct urb *urb)
|
||||
__func__, status);
|
||||
return;
|
||||
}
|
||||
|
||||
usb_serial_port_softint(port);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usb_serial_generic_write_bulk_callback);
|
||||
|
Reference in New Issue
Block a user