]> git.hungrycats.org Git - linux/commitdiff
[PATCH] ehci, qtd submit and completions
authorDavid Brownell <david-b@pacbell.net>
Sat, 21 Dec 2002 15:03:20 +0000 (07:03 -0800)
committerGreg Kroah-Hartman <greg@kroah.com>
Sat, 21 Dec 2002 15:03:20 +0000 (07:03 -0800)
 > ... 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'.

drivers/usb/host/ehci-q.c

index b496539a4e0352c28672e8211470a03ebb79cab1..699c191b70f57d9bb718acdc934294de0db19b52 100644 (file)
@@ -266,8 +266,9 @@ qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh, struct pt_regs *regs)
 
                        /* 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 */