diff options
author | Manuel Lauss <manuel.lauss@googlemail.com> | 2010-03-08 14:43:32 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-20 16:21:31 -0400 |
commit | 9757de384451a606af8c722213cb973192cbbd1b (patch) | |
tree | 33c7bf839d702d9c1a35ee68a8a6a96591bc1723 /drivers/usb/host | |
parent | 0ede76fcec5415ef82a423a95120286895822e2d (diff) |
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>
Diffstat (limited to 'drivers/usb/host')
-rw-r--r-- | drivers/usb/host/ehci-au1xxx.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-au1xxx.c b/drivers/usb/host/ehci-au1xxx.c index e3a74e75e822..7a27b7c4ee84 100644 --- a/drivers/usb/host/ehci-au1xxx.c +++ b/drivers/usb/host/ehci-au1xxx.c | |||
@@ -69,6 +69,15 @@ static void au1xxx_stop_ehc(void) | |||
69 | au_sync(); | 69 | au_sync(); |
70 | } | 70 | } |
71 | 71 | ||
72 | static int au1xxx_ehci_setup(struct usb_hcd *hcd) | ||
73 | { | ||
74 | struct ehci_hcd *ehci = hcd_to_ehci(hcd); | ||
75 | int ret = ehci_init(hcd); | ||
76 | |||
77 | ehci->need_io_watchdog = 0; | ||
78 | return ret; | ||
79 | } | ||
80 | |||
72 | static const struct hc_driver ehci_au1xxx_hc_driver = { | 81 | static const struct hc_driver ehci_au1xxx_hc_driver = { |
73 | .description = hcd_name, | 82 | .description = hcd_name, |
74 | .product_desc = "Au1xxx EHCI", | 83 | .product_desc = "Au1xxx EHCI", |
@@ -86,7 +95,7 @@ static const struct hc_driver ehci_au1xxx_hc_driver = { | |||
86 | * FIXME -- ehci_init() doesn't do enough here. | 95 | * FIXME -- ehci_init() doesn't do enough here. |
87 | * See ehci-ppc-soc for a complete implementation. | 96 | * See ehci-ppc-soc for a complete implementation. |
88 | */ | 97 | */ |
89 | .reset = ehci_init, | 98 | .reset = au1xxx_ehci_setup, |
90 | .start = ehci_run, | 99 | .start = ehci_run, |
91 | .stop = ehci_stop, | 100 | .stop = ehci_stop, |
92 | .shutdown = ehci_shutdown, | 101 | .shutdown = ehci_shutdown, |