diff options
-rw-r--r-- | drivers/usb/host/ehci-q.c | 12 | ||||
-rw-r--r-- | drivers/usb/host/ehci-sched.c | 4 |
2 files changed, 5 insertions, 11 deletions
diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c index 4b66374bdc8e..3d989028c836 100644 --- a/drivers/usb/host/ehci-q.c +++ b/drivers/usb/host/ehci-q.c | |||
@@ -264,15 +264,9 @@ ehci_urb_done(struct ehci_hcd *ehci, struct urb *urb, int status) | |||
264 | __releases(ehci->lock) | 264 | __releases(ehci->lock) |
265 | __acquires(ehci->lock) | 265 | __acquires(ehci->lock) |
266 | { | 266 | { |
267 | if (likely (urb->hcpriv != NULL)) { | 267 | if (usb_pipetype(urb->pipe) == PIPE_INTERRUPT) { |
268 | struct ehci_qh *qh = (struct ehci_qh *) urb->hcpriv; | 268 | /* ... update hc-wide periodic stats */ |
269 | 269 | ehci_to_hcd(ehci)->self.bandwidth_int_reqs--; | |
270 | /* S-mask in a QH means it's an interrupt urb */ | ||
271 | if ((qh->hw->hw_info2 & cpu_to_hc32(ehci, QH_SMASK)) != 0) { | ||
272 | |||
273 | /* ... update hc-wide periodic stats (for usbfs) */ | ||
274 | ehci_to_hcd(ehci)->self.bandwidth_int_reqs--; | ||
275 | } | ||
276 | } | 270 | } |
277 | 271 | ||
278 | if (unlikely(urb->unlinked)) { | 272 | if (unlikely(urb->unlinked)) { |
diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c index 2e14714b359f..69ebee73c0c1 100644 --- a/drivers/usb/host/ehci-sched.c +++ b/drivers/usb/host/ehci-sched.c | |||
@@ -1630,7 +1630,7 @@ static void itd_link_urb( | |||
1630 | 1630 | ||
1631 | /* don't need that schedule data any more */ | 1631 | /* don't need that schedule data any more */ |
1632 | iso_sched_free (stream, iso_sched); | 1632 | iso_sched_free (stream, iso_sched); |
1633 | urb->hcpriv = NULL; | 1633 | urb->hcpriv = stream; |
1634 | 1634 | ||
1635 | ++ehci->isoc_count; | 1635 | ++ehci->isoc_count; |
1636 | enable_periodic(ehci); | 1636 | enable_periodic(ehci); |
@@ -2029,7 +2029,7 @@ static void sitd_link_urb( | |||
2029 | 2029 | ||
2030 | /* don't need that schedule data any more */ | 2030 | /* don't need that schedule data any more */ |
2031 | iso_sched_free (stream, sched); | 2031 | iso_sched_free (stream, sched); |
2032 | urb->hcpriv = NULL; | 2032 | urb->hcpriv = stream; |
2033 | 2033 | ||
2034 | ++ehci->isoc_count; | 2034 | ++ehci->isoc_count; |
2035 | enable_periodic(ehci); | 2035 | enable_periodic(ehci); |