From: Alan Stern Date: Wed, 19 Aug 2009 16:22:44 +0000 (-0400) Subject: USB: EHCI: change deschedule logic for interrupt QHs X-Git-Tag: v2.6.32-rc1~174^2~36 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a448c9d8c58ff7d3f8cc2a8f835065460099b22d;p=pandora-kernel.git USB: EHCI: change deschedule logic for interrupt QHs This patch (as1281) changes the way ehci-hcd deschedules interrupt QHs, copying the approach used for async QHs. The caller is no longer responsible for rescheduling the QH if its queue is non-empty; instead the reschedule is done directly by intr_deschedule(), after calling qh_completions(). This is exactly the same as how end_unlink_async() works. ehci_urb_dequeue() and intr_deschedule() now correctly handle the case where they are called while another interrupt URB for the same QH is being given back. This was a surprisingly large blind spot. And scan_periodic() now respects the new needs_rescan flag. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman --- Reading git-diff-tree failed