From: Alan Stern Date: Mon, 23 Jan 2006 22:17:21 +0000 (-0500) Subject: [PATCH] USB: UHCI: No FSBR until device is configured X-Git-Tag: v2.6.16-rc2~193 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=630aa3cfd5f0bae9547fe7dff175d7323d60140d;p=linux-2.6 [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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/host/uhci-q.c b/drivers/usb/host/uhci-q.c index b6076004a4..782398045f 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 /* Low-speed transfers get a different queue, and won't hog the bus. * 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 - * is in the DEFAULT state. */ + * isn't in the CONFIGURED state. */ 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; else { skelqh = uhci->skel_fs_control_qh;