]> git.karo-electronics.de Git - karo-tx-linux.git/commit
USB: EHCI: remove ASS/PSS polling timeout
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 25 Jan 2013 21:52:45 +0000 (16:52 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 11 Feb 2013 17:04:45 +0000 (09:04 -0800)
commit269ef9f3805a5ec17ddf3dd5f13d5e09598c155b
tree68b95ea9e8177b713255849bb9a74f18ee28d841
parent0d32a2fb27dc31241ea5e269bba18fcea3db9092
USB: EHCI: remove ASS/PSS polling timeout

commit 55bcdce8a8228223ec4d17d8ded8134ed265d2c5 upstream.

This patch (as1647) attempts to work around a problem that seems to
affect some nVidia EHCI controllers.  They sometimes take a very long
time to turn off their async or periodic schedules.  I don't know if
this is a result of other problems, but in any case it seems wise not
to depend on schedule enables or disables taking effect in any
specific length of time.

The patch removes the existing 20-ms timeout for enabling and
disabling the schedules.  The driver will now continue to poll the
schedule state at 1-ms intervals until the controller finally decides
to obey the most recent command issued by the driver.  Just in case
this hides a problem, a debugging message will be logged if the
controller takes longer than 20 polls.

I don't know if this will actually fix anything, but it can't hurt.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Piergiorgio Sartor <piergiorgio.sartor@nexgo.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ehci-timer.c