USB: ftdi_sio: re-implement read processing
commitc3c7e4b94878b3f85a9f5ab10c47e8d4ef531663
authorJohan Hovold <jhovold@gmail.com>
Wed, 7 Oct 2009 18:05:07 +0000 (7 20:05 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 22 Oct 2009 22:11:47 +0000 (22 15:11 -0700)
tree5e089aa9b0d3d2cccdacc0ad58db0b9006c3026f
parent990399b24d86bb171ff21c333109b0dd05fae669
USB: ftdi_sio: re-implement read processing

commit cc01f17d5cb8ac604108515735aeca72e17944c1 upstream.

- Re-structure read processing.
 - Kill obsolete work queue and always push to tty in completion handler.
 - Use tty_insert_flip_string instead of per character push when
   possible.
 - Fix stalled-read regression in 2.6.31 by using urb status to
   determine when port is closed rather than port count.
 - Fix race with open/close by checking ASYNCB_INITIALIZED in
   unthrottle.
 - Kill private rx_flag and lock and use throttle flags in
   usb_serial_port instead.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/ftdi_sio.c