[PATCH] UHCI: Improve FSBR-off timing
This patch (as707) improves the FSBR operation in uhci-hcd by turning it off more quickly when it isn't needed. FSBR puts a noticeable load on a computer's PCI bus, so it should be disabled as soon as possible when it isn't in use. The patch leaves it running for only 10 ms after the last URB stops using it, on the theory that this should be long enough for a driver to submit another URB if it wants keep FSBR going. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e323de46e8
commit
c5e3b741a3
@@ -497,9 +497,9 @@ static int uhci_start(struct usb_hcd *hcd)
|
||||
hcd->uses_new_polling = 1;
|
||||
|
||||
spin_lock_init(&uhci->lock);
|
||||
|
||||
setup_timer(&uhci->fsbr_timer, uhci_fsbr_timeout,
|
||||
(unsigned long) uhci);
|
||||
INIT_LIST_HEAD(&uhci->idle_qh_list);
|
||||
|
||||
init_waitqueue_head(&uhci->waitqh);
|
||||
|
||||
if (DEBUG_CONFIGURED) {
|
||||
@@ -675,6 +675,7 @@ static void uhci_stop(struct usb_hcd *hcd)
|
||||
uhci_scan_schedule(uhci, NULL);
|
||||
spin_unlock_irq(&uhci->lock);
|
||||
|
||||
del_timer_sync(&uhci->fsbr_timer);
|
||||
release_uhci(uhci);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user