[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>
This commit is contained in:
parent
0c7346229c
commit
630aa3cfd5
|
@ -672,9 +672,9 @@ static int uhci_submit_control(struct uhci_hcd *uhci, struct urb *urb, struct ur
|
||||||
/* Low-speed transfers get a different queue, and won't hog the bus.
|
/* Low-speed transfers get a different queue, and won't hog the bus.
|
||||||
* Also, some devices enumerate better without FSBR; the easiest way
|
* Also, some devices enumerate better without FSBR; the easiest way
|
||||||
* to do that is to put URBs on the low-speed queue while the device
|
* to do that is to put URBs on the low-speed queue while the device
|
||||||
* is in the DEFAULT state. */
|
* isn't in the CONFIGURED state. */
|
||||||
if (urb->dev->speed == USB_SPEED_LOW ||
|
if (urb->dev->speed == USB_SPEED_LOW ||
|
||||||
urb->dev->state == USB_STATE_DEFAULT)
|
urb->dev->state != USB_STATE_CONFIGURED)
|
||||||
skelqh = uhci->skel_ls_control_qh;
|
skelqh = uhci->skel_ls_control_qh;
|
||||||
else {
|
else {
|
||||||
skelqh = uhci->skel_fs_control_qh;
|
skelqh = uhci->skel_fs_control_qh;
|
||||||
|
|
Loading…
Reference in a new issue