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>
Fri, 25 Jan 2013 21:58:20 +0000 (13:58 -0800)
commit55bcdce8a8228223ec4d17d8ded8134ed265d2c5
tree739b84aeb5182c212d237fc870dff539c705c15b
parenta28dde6181f235c876d70a5e76aaaa3229286c38
USB: EHCI: remove ASS/PSS polling timeout

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>
CC: <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ehci-timer.c