diff options
author | James Morris <jmorris@namei.org> | 2009-09-29 23:47:33 +0200 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2009-09-29 23:47:33 +0200 |
commit | 1669b049db50fc7f1d4e694fb115a0f408c63fce (patch) | |
tree | 9b3b90b5cbff9b8f30ecf0b2a44896ce8bef0c20 /drivers/usb/host/whci/hcd.c | |
parent | TPM: increase default TPM buffer (diff) | |
parent | Linux 2.6.32-rc1 (diff) | |
download | linux-1669b049db50fc7f1d4e694fb115a0f408c63fce.tar.xz linux-1669b049db50fc7f1d4e694fb115a0f408c63fce.zip |
Merge branch 'master' into next
Diffstat (limited to 'drivers/usb/host/whci/hcd.c')
-rw-r--r-- | drivers/usb/host/whci/hcd.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/usb/host/whci/hcd.c b/drivers/usb/host/whci/hcd.c index e019a5058ab8..687b622a1612 100644 --- a/drivers/usb/host/whci/hcd.c +++ b/drivers/usb/host/whci/hcd.c @@ -192,19 +192,23 @@ static void whc_endpoint_reset(struct usb_hcd *usb_hcd, struct wusbhc *wusbhc = usb_hcd_to_wusbhc(usb_hcd); struct whc *whc = wusbhc_to_whc(wusbhc); struct whc_qset *qset; + unsigned long flags; + + spin_lock_irqsave(&whc->lock, flags); qset = ep->hcpriv; if (qset) { qset->remove = 1; + qset->reset = 1; if (usb_endpoint_xfer_bulk(&ep->desc) || usb_endpoint_xfer_control(&ep->desc)) queue_work(whc->workqueue, &whc->async_work); else queue_work(whc->workqueue, &whc->periodic_work); - - qset_reset(whc, qset); } + + spin_unlock_irqrestore(&whc->lock, flags); } |