# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.620   -> 1.621  
#	drivers/usb/host/ohci-q.c	1.21    -> 1.22   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/09/09	david-b@pacbell.net	1.621
# [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!
# --------------------------------------------
#
diff -Nru a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c
--- a/drivers/usb/host/ohci-q.c	Mon Sep  9 15:15:12 2002
+++ b/drivers/usb/host/ohci-q.c	Mon Sep  9 15:15:12 2002
@@ -727,8 +727,12 @@
 
 		if (usb_pipeout (urb->pipe))
 			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;
+		}
 		urb->actual_length += dlen;
 		urb->iso_frame_desc [td->index].actual_length = dlen;
 		urb->iso_frame_desc [td->index].status = cc_to_error [cc];
