ChangeSet 1.865.28.15, 2002/12/21 23:03:20-08:00, david-b@pacbell.net

[PATCH] ehci, qtd submit and completions

 > ... usb-storage gets unhappy when
 > it decides (why?  and unsuccessfully) to reset high speed
 > devices.  ...

I don't know if that problem is resolved, but this patch
makes the question moot by handling an earlier error correctly.

The patch updates an incorrect test, so a short read will now
be treated as one.  Please merge.

This lets storage behave again.  As in, "mkfs -c" then copy
about 8 GB around, then 'dbench'.


diff -Nru a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c
--- a/drivers/usb/host/ehci-q.c	Sun Dec 22 00:38:42 2002
+++ b/drivers/usb/host/ehci-q.c	Sun Dec 22 00:38:42 2002
@@ -266,8 +266,9 @@
 
 			/* magic dummy for short reads; won't advance */
 			if (IS_SHORT_READ (token)
+					&& !(token & QTD_STS_HALT)
 					&& ehci->async->hw_alt_next
-						== qh->hw_current)
+						== qh->hw_alt_next)
 				goto halt;
 
 		/* stop scanning when we reach qtds the hc is using */
