diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2008-04-14 12:17:56 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-04-25 00:16:53 -0400 |
commit | e872154921a6b5256a3c412dd69158ac0b135176 (patch) | |
tree | 65c1ef7054d7c5ed3a94799e09db8036a7f9574c /drivers/usb/host/ohci-ep93xx.c | |
parent | 5f47493cdf90b8afe5353e59de30e449e775ea8b (diff) |
USB: don't explicitly reenable root-hub status interrupts
This patch (as1069b) changes the way OHCI root-hub status-change
interrupts are enabled. Currently a special HCD method,
hub_irq_enable(), is called when the hub driver is finished using a
root hub. This approach turns out to be subject to races, resulting
in unnecessary polling.
The patch does away with the method entirely. Instead, the driver
automatically enables the RHSC interrupt when no more status changes
are present. This scheme is safe with controllers using
level-triggered semantics for their interrupt flags.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host/ohci-ep93xx.c')
-rw-r--r-- | drivers/usb/host/ohci-ep93xx.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/usb/host/ohci-ep93xx.c b/drivers/usb/host/ohci-ep93xx.c index 5adaf36e47d0..06aadfb0ec29 100644 --- a/drivers/usb/host/ohci-ep93xx.c +++ b/drivers/usb/host/ohci-ep93xx.c | |||
@@ -135,7 +135,6 @@ static struct hc_driver ohci_ep93xx_hc_driver = { | |||
135 | .get_frame_number = ohci_get_frame, | 135 | .get_frame_number = ohci_get_frame, |
136 | .hub_status_data = ohci_hub_status_data, | 136 | .hub_status_data = ohci_hub_status_data, |
137 | .hub_control = ohci_hub_control, | 137 | .hub_control = ohci_hub_control, |
138 | .hub_irq_enable = ohci_rhsc_enable, | ||
139 | #ifdef CONFIG_PM | 138 | #ifdef CONFIG_PM |
140 | .bus_suspend = ohci_bus_suspend, | 139 | .bus_suspend = ohci_bus_suspend, |
141 | .bus_resume = ohci_bus_resume, | 140 | .bus_resume = ohci_bus_resume, |