diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2006-01-23 17:17:21 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-01-31 20:23:41 -0500 |
commit | 630aa3cfd5f0bae9547fe7dff175d7323d60140d (patch) | |
tree | dd6cdf87e34dbd64e9f3001720d3106fcfc11568 /drivers/usb/host | |
parent | 0c7346229c48fa899a1837d9200894701ea81dac (diff) |
[PATCH] USB: UHCI: No FSBR until device is configured
Some USB devices don't enumerate well with FSBR turned on. This patch
keeps devices on the low-speed part of the schedule (which doesn't use
FSBR) until they have been fully configured.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host')
-rw-r--r-- | drivers/usb/host/uhci-q.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/host/uhci-q.c b/drivers/usb/host/uhci-q.c index b6076004a437..782398045f9f 100644 --- a/drivers/usb/host/uhci-q.c +++ b/drivers/usb/host/uhci-q.c | |||
@@ -672,9 +672,9 @@ static int uhci_submit_control(struct uhci_hcd *uhci, struct urb *urb, struct ur | |||
672 | /* Low-speed transfers get a different queue, and won't hog the bus. | 672 | /* Low-speed transfers get a different queue, and won't hog the bus. |
673 | * Also, some devices enumerate better without FSBR; the easiest way | 673 | * Also, some devices enumerate better without FSBR; the easiest way |
674 | * to do that is to put URBs on the low-speed queue while the device | 674 | * to do that is to put URBs on the low-speed queue while the device |
675 | * is in the DEFAULT state. */ | 675 | * isn't in the CONFIGURED state. */ |
676 | if (urb->dev->speed == USB_SPEED_LOW || | 676 | if (urb->dev->speed == USB_SPEED_LOW || |
677 | urb->dev->state == USB_STATE_DEFAULT) | 677 | urb->dev->state != USB_STATE_CONFIGURED) |
678 | skelqh = uhci->skel_ls_control_qh; | 678 | skelqh = uhci->skel_ls_control_qh; |
679 | else { | 679 | else { |
680 | skelqh = uhci->skel_fs_control_qh; | 680 | skelqh = uhci->skel_fs_control_qh; |