diff options
author | David Vrabel <david.vrabel@csr.com> | 2009-10-12 19:45:16 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-10-15 01:54:43 +0400 |
commit | 1f01ca4e0c1d4126eb663f8ea0bab03836099770 (patch) | |
tree | 13a69b3c2231941b1d95e7776fcd3a2312925fd0 /drivers/usb/host | |
parent | 171b37ee95865c052a88d52a05895c3c584f4871 (diff) | |
download | linux-1f01ca4e0c1d4126eb663f8ea0bab03836099770.tar.xz |
USB: whci-hcd: always do an update after processing a halted qTD
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>
Diffstat (limited to 'drivers/usb/host')
-rw-r--r-- | drivers/usb/host/whci/asl.c | 4 | ||||
-rw-r--r-- | drivers/usb/host/whci/pzl.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/usb/host/whci/asl.c b/drivers/usb/host/whci/asl.c index 14ccbcfc4315..562eba108816 100644 --- a/drivers/usb/host/whci/asl.c +++ b/drivers/usb/host/whci/asl.c @@ -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; } diff --git a/drivers/usb/host/whci/pzl.c b/drivers/usb/host/whci/pzl.c index e923633f30c1..0db3fb2dc03a 100644 --- a/drivers/usb/host/whci/pzl.c +++ b/drivers/usb/host/whci/pzl.c @@ -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; } |