USB: fix EHCI periodic transfers
authorDavid Brownell <dbrownell@users.sourceforge.net>
Wed, 27 Aug 2008 06:35:04 +0000 (23:35 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 23 Sep 2008 20:58:08 +0000 (13:58 -0700)
commit01c17142659c02d8cd4c67acdd8358180c5c4fb6
tree76cd2de4494cc071857b60bc6a4022361e4f4dde
parent0590d5875e3a5dc6586fb16354037f115628896d
USB: fix EHCI periodic transfers

As noted by Stefan Neis <Stefan.Neis@kobil.com>, we had a recent
regression with EHCI periodic transfers, in some (seemingly not
all that common) cases.

The root cause was that the schedule activation was only loosely
coupled to the addition or removal of transfers, so two different
execution contexts could both think they had to deactivate (or
conversely activate) the schedule.  So this fix tightens that
coupling, managing it more like a refcount.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci-sched.c