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
@ -656,6 +656,7 @@ static int option_write_room(struct usb_serial_port *port)
|
||||
|
||||
portdata = usb_get_serial_port_data(port);
|
||||
|
||||
|
||||
for (i=0; i < N_OUT_URB; i++) {
|
||||
this_urb = portdata->out_urbs[i];
|
||||
if (this_urb && !test_bit(i, &portdata->out_busy))
|
||||
@ -677,6 +678,8 @@ static int option_chars_in_buffer(struct usb_serial_port *port)
|
||||
|
||||
for (i=0; i < N_OUT_URB; i++) {
|
||||
this_urb = portdata->out_urbs[i];
|
||||
/* FIXME: This locking is insufficient as this_urb may
|
||||
go unused during the test */
|
||||
if (this_urb && test_bit(i, &portdata->out_busy))
|
||||
data_len += this_urb->transfer_buffer_length;
|
||||
}
|
||||
|
Reference in New Issue
Block a user