USB: ehci-au1xxx does not need EHCI IO watchdog

I've been running variations of this patch for well over a year now;
my usual zoo of test devices didn't trigger any ill effects even
under heavy load.  As a nice sideeffect idle-wakeups are reduced
from 20/s to about 2/s (EHCI hub with mouse and kbd).

Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Manuel Lauss 2010-03-08 20:43:32 +01:00 committed by Greg Kroah-Hartman
parent 0ede76fcec
commit 9757de3844

View File

@ -69,6 +69,15 @@ static void au1xxx_stop_ehc(void)
au_sync(); au_sync();
} }
static int au1xxx_ehci_setup(struct usb_hcd *hcd)
{
struct ehci_hcd *ehci = hcd_to_ehci(hcd);
int ret = ehci_init(hcd);
ehci->need_io_watchdog = 0;
return ret;
}
static const struct hc_driver ehci_au1xxx_hc_driver = { static const struct hc_driver ehci_au1xxx_hc_driver = {
.description = hcd_name, .description = hcd_name,
.product_desc = "Au1xxx EHCI", .product_desc = "Au1xxx EHCI",
@ -86,7 +95,7 @@ static const struct hc_driver ehci_au1xxx_hc_driver = {
* FIXME -- ehci_init() doesn't do enough here. * FIXME -- ehci_init() doesn't do enough here.
* See ehci-ppc-soc for a complete implementation. * See ehci-ppc-soc for a complete implementation.
*/ */
.reset = ehci_init, .reset = au1xxx_ehci_setup,
.start = ehci_run, .start = ehci_run,
.stop = ehci_stop, .stop = ehci_stop,
.shutdown = ehci_shutdown, .shutdown = ehci_shutdown,