Commit d2ce5064 authored by David Brownell's avatar David Brownell Committed by Greg Kroah-Hartman

[PATCH] [PATCH 2.5.33+] ohci and iso-in

I added a bug in 2.5.23 when cleaning up something that
was broken ... it wasn't broken in quite the way I had
thought at the time!

This fixes a problem some folk have reported recently
with ISO-IN, by masking a common non-error outcome.

Please merge to Linus' tree, on top of the one patch
you already have queued.  Thanks to Nemosoft for such
quick turnaround on testing!
parent 26a5cc5c
...@@ -727,8 +727,12 @@ static void td_done (struct urb *urb, struct td *td) ...@@ -727,8 +727,12 @@ static void td_done (struct urb *urb, struct td *td)
if (usb_pipeout (urb->pipe)) if (usb_pipeout (urb->pipe))
dlen = urb->iso_frame_desc [td->index].length; dlen = urb->iso_frame_desc [td->index].length;
else else {
/* short reads are always OK for ISO */
if (cc == TD_DATAUNDERRUN)
cc = TD_CC_NOERROR;
dlen = tdPSW & 0x3ff; dlen = tdPSW & 0x3ff;
}
urb->actual_length += dlen; urb->actual_length += dlen;
urb->iso_frame_desc [td->index].actual_length = dlen; urb->iso_frame_desc [td->index].actual_length = dlen;
urb->iso_frame_desc [td->index].status = cc_to_error [cc]; urb->iso_frame_desc [td->index].status = cc_to_error [cc];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment