usb: wusbcore: read actual_length bytes isoc in segments
authorThomas Pugliese <thomas.pugliese@gmail.com>
Fri, 28 Feb 2014 21:10:26 +0000 (15:10 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 1 Mar 2014 00:14:48 +0000 (16:14 -0800)
commitecf3701cede840476b012ac4796f77c6dd9ee623
tree3cafd7a63113333cb6d24c31e0b18405fe0bb9ee
parent4659a2452baa7d89324fda097158d7f8fe71e0cb
usb: wusbcore: read actual_length bytes isoc in segments

Use the iso_frame_desc.actual_length field instead of length when
reading isoc in data segments from the HWA.  This fixes a case where the
isoc in read URB would never complete because it expected the HWA to
send more data than it actually did.  When this happened the URB would
be stuck in the driver preventing module unload and clean shutdown.

Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/wusbcore/wa-xfer.c