diff options
| author | David Vrabel <david.vrabel@csr.com> | 2009-10-12 11:45:16 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-10-14 17:54:43 -0400 |
| commit | 1f01ca4e0c1d4126eb663f8ea0bab03836099770 (patch) | |
| tree | 13a69b3c2231941b1d95e7776fcd3a2312925fd0 /drivers/usb/host | |
| parent | 171b37ee95865c052a88d52a05895c3c584f4871 (diff) | |
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) | |||
| 115 | if (status & QTD_STS_HALTED) { | 115 | if (status & QTD_STS_HALTED) { |
| 116 | /* Ug, an error. */ | 116 | /* Ug, an error. */ |
| 117 | process_halted_qtd(whc, qset, td); | 117 | process_halted_qtd(whc, qset, td); |
| 118 | /* A halted qTD always triggers an update | ||
| 119 | because the qset was either removed or | ||
| 120 | reactivated. */ | ||
| 121 | update |= WHC_UPDATE_UPDATED; | ||
| 118 | goto done; | 122 | goto done; |
| 119 | } | 123 | } |
| 120 | 124 | ||
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) | |||
| 121 | if (status & QTD_STS_HALTED) { | 121 | if (status & QTD_STS_HALTED) { |
| 122 | /* Ug, an error. */ | 122 | /* Ug, an error. */ |
| 123 | process_halted_qtd(whc, qset, td); | 123 | process_halted_qtd(whc, qset, td); |
| 124 | /* A halted qTD always triggers an update | ||
| 125 | because the qset was either removed or | ||
| 126 | reactivated. */ | ||
| 127 | update |= WHC_UPDATE_UPDATED; | ||
| 124 | goto done; | 128 | goto done; |
| 125 | } | 129 | } |
| 126 | 130 | ||
