]> Pileus Git - ~andy/linux/commitdiff
USB: whci-hcd: always do an update after processing a halted qTD
authorDavid Vrabel <david.vrabel@csr.com>
Mon, 12 Oct 2009 15:45:16 +0000 (15:45 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 14 Oct 2009 21:54:43 +0000 (14:54 -0700)
A halted qTD always triggers a hardware list update because the qset was
either removed or reactivated.

Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/whci/asl.c
drivers/usb/host/whci/pzl.c

index 14ccbcfc43150120c123771722c734d0053af832..562eba108816cb689bda3eee2b9b2125150c77fe 100644 (file)
@@ -115,6 +115,10 @@ static uint32_t process_qset(struct whc *whc, struct whc_qset *qset)
                if (status & QTD_STS_HALTED) {
                        /* Ug, an error. */
                        process_halted_qtd(whc, qset, td);
+                       /* A halted qTD always triggers an update
+                          because the qset was either removed or
+                          reactivated. */
+                       update |= WHC_UPDATE_UPDATED;
                        goto done;
                }
 
index e923633f30c1d7f622ab4850091ce0191411f945..0db3fb2dc03ae500f545b8356485c6b460c12859 100644 (file)
@@ -121,6 +121,10 @@ static enum whc_update pzl_process_qset(struct whc *whc, struct whc_qset *qset)
                if (status & QTD_STS_HALTED) {
                        /* Ug, an error. */
                        process_halted_qtd(whc, qset, td);
+                       /* A halted qTD always triggers an update
+                          because the qset was either removed or
+                          reactivated. */
+                       update |= WHC_UPDATE_UPDATED;
                        goto done;
                }