USB: ftdi_sio: Keep going when write errors are encountered.
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 18 Nov 2009 03:10:48 +0000 (19:10 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 1 Dec 2009 00:43:15 +0000 (16:43 -0800)
commit0de6ab8b91f2e1e8e7fc66a8b5c5e8ca82ea16b7
tree8b7438074e39102a056696d3ea96b9a6a08542c3
parentcea83241b3a84499c4f9b12f8288f787e7aa6383
USB: ftdi_sio: Keep going when write errors are encountered.

The use of urb->actual_length to update tx_outstanding_bytes
implicitly assumes that the number of bytes actually written is the
same as the number of bytes we tried to write.  On error that
assumption is violated so just use transfer_buffer_length the number
of bytes we intended to write to the device.

If an error occurs we need to fall through and call
usb_serial_port_softint to wake up processes waiting in
tty_wait_until_sent.

Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/ftdi_sio.c