On Mon, 23 Jan 2006, Greg KH wrote:

> I have a SuSE bug that someone grabbed your as629 patch (UHCI: No FSBR
> until device is configured) and said it fixed their problem when using a
> USB bar code scanner in their system.
> 
> Problem is, that patch doesn't look like it will be going into the
> mainline kernel till after 2.6.16, due to it being part of your "redo
> uhci" series.
> 
> So, what is the chance that this patch can be applied alone?  Does it
> depend on the others in the series?

The patch (suitably updated) should work perfectly well with 2.6.16-rc1
and above.  Functionally, it's completely independent from all the "redo
uhci" stuff.

> And do you think it should go in for 2.6.16, and if I add it to the SuSE
> kernel tree, will it have any bad side-affects?

I think it's okay to add it to 2.6.16; it won't affect many people in any
noticeable way.   And it shouldn't have any bad side-effects, other than 
taking an extra few milliseconds to enumerate some USB devices.  People 
ought to be able to live with that.  :-)

Here's the patch, backported to 2.6.16-rc1.

Alan Stern

----------------------------

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 <[EMAIL PROTECTED]>

---

Index: l2616/drivers/usb/host/uhci-q.c
===================================================================
--- l2616.orig/drivers/usb/host/uhci-q.c
+++ l2616/drivers/usb/host/uhci-q.c
@@ -672,9 +672,9 @@ static int uhci_submit_control(struct uh
        /* 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;



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to