This is a note to let you know that I've just added the patch titled

     Subject: USB: remove short initial timeout for device descriptor fetch

to my gregkh-2.6 tree.  Its filename is

     usb-remove-short-initial-timeout-for-device-descriptor-fetch.patch

This tree can be found at 
    http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/


>From [EMAIL PROTECTED] Fri May 11 07:19:08 2007
Date: Fri, 11 May 2007 10:19:04 -0400 (EDT)
From: Alan Stern <[EMAIL PROTECTED]>
To: Greg KH <[EMAIL PROTECTED]>
cc: [EMAIL PROTECTED], USB development list 
<linux-usb-devel@lists.sourceforge.net>
Subject: USB: remove short initial timeout for device descriptor fetch
Message-ID: <[EMAIL PROTECTED]>

This patch (as905) removes a micro-optimization from the hub port
initialization code.  Previously we had been using a short timeout on
the first attempt the read the device descriptor; now we will use the
standard timeout length.

It's not clear that the short timeout ever provided any benefit.  And
now we know of one case where it actually hurts: The device can't meet
the short timeout and then it gets terminally confused.

This fixes Bugzilla #8444.

Signed-off-by: Alan Stern <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>

---
 drivers/usb/core/hub.c |   13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -2131,14 +2131,9 @@ hub_port_init (struct usb_hub *hub, stru
                                continue;
                        }
 
-                       /* Use a short timeout the first time through,
-                        * so that recalcitrant full-speed devices with
-                        * 8- or 16-byte ep0-maxpackets won't slow things
-                        * down tremendously by NAKing the unexpectedly
-                        * early status stage.  Also, retry on all errors;
-                        * some devices are flakey.
-                        * 255 is for WUSB devices, we actually need to use 512.
-                        * WUSB1.0[4.8.1].
+                       /* Retry on all errors; some devices are flakey.
+                        * 255 is for WUSB devices, we actually need to use
+                        * 512 (WUSB1.0[4.8.1]).
                         */
                        for (j = 0; j < 3; ++j) {
                                buf->bMaxPacketSize0 = 0;
@@ -2146,7 +2141,7 @@ hub_port_init (struct usb_hub *hub, stru
                                        USB_REQ_GET_DESCRIPTOR, USB_DIR_IN,
                                        USB_DT_DEVICE << 8, 0,
                                        buf, GET_DESCRIPTOR_BUFSIZE,
-                                       (i ? USB_CTRL_GET_TIMEOUT : 1000));
+                                       USB_CTRL_GET_TIMEOUT);
                                switch (buf->bMaxPacketSize0) {
                                case 8: case 16: case 32: case 64: case 255:
                                        if (buf->bDescriptorType ==


Patches currently in gregkh-2.6 which might be from [EMAIL PROTECTED] are

driver/ida-implement-idr-based-id-allocator.patch
driver/idr-fix-obscure-bug-in-allocation-path.patch
driver/idr-separate-out-idr_mark_full.patch
driver/sysfs-kill-unnecessary-attribute-owner.patch
driver/driver-core-make-devt_attr-and-uevent_attr-static.patch
driver/sysfs-consolidate-sysfs_dirent-creation-functions.patch
driver/sysfs-add-sysfs_dirent-s_name.patch
driver/sysfs-make-sysfs_dirent-s_element-a-union.patch
driver/sysfs-add-sysfs_dirent-s_parent.patch
driver/sysfs-allocate-inode-number-using-ida.patch
driver/sysfs-kill-attribute-file-orphaning.patch
driver/sysfs-fix-error-handling-in-binattr-write.patch
driver/sysfs-flatten-and-fix-sysfs_rename_dir-error-handling.patch
driver/sysfs-flatten-cleanup-paths-in-sysfs_add_link-and-create_dir.patch
driver/sysfs-implement-bin_buffer.patch
driver/sysfs-implement-kobj_sysfs_assoc_lock.patch
driver/sysfs-implement-sysfs_dirent-active-reference-and-immediate-disconnect.patch
driver/sysfs-make-sysfs_put-ignore-null-sd.patch
driver/sysfs-move-release_sysfs_dirent-to-dir.c.patch
driver/sysfs-reimplement-syfs_drop_dentry.patch
driver/sysfs-reimplement-symlink-using-sysfs_dirent-tree.patch
driver/sysfs-separate-out-sysfs_attach_dentry.patch
usb/usb-interface-pm-state.patch
usb/usb-remove-unneeded-warn_on.patch
usb/usb-implement-pm-freeze-and-prethaw.patch
usb/usb-make-the-autosuspend-workqueue-thread-freezable.patch
usb/usb-more-autosuspend-timer-stuff.patch
usb/usb-move-bus_suspend-and-bus_resume-method-calls.patch
usb/usb-set-the-correct-interrupt-interval-in-usb_bulk_msg.patch
usb/usb-don-t-unsuspend-for-a-new-connection.patch
usb/usb-make-hub-driver-s-release-more-robust.patch
usb/ehci-fix-problem-with-bios-handoff.patch
usb/usb-fix-race-between-autosuspend-and-unregister-for-root-hubs.patch
usb/usb-remove-locktree-routine-from-the-hub-driver.patch
usb/usb-remove-references-to-dev.power.power_state.patch
usb/ohci-fix-machine-check-in-ohci_hub_status_data.patch
usb/usb-remove-short-initial-timeout-for-device-descriptor-fetch.patch

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
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