The following commit has been merged in the linux branch: commit 1f01ca4e0c1d4126eb663f8ea0bab03836099770 Author: David Vrabel david.vrabel@csr.com Date: Mon Oct 12 15:45:16 2009 +0000
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
diff --git a/drivers/usb/host/whci/asl.c b/drivers/usb/host/whci/asl.c index 14ccbcf..562eba1 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 e923633..0db3fb2 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; }