Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9136550eb7d9409292a93e2d2265afa11bee234
Commit:     e9136550eb7d9409292a93e2d2265afa11bee234
Parent:     2484591049ad1b92f585c1ff1c1d63f41e149faa
Author:     Ivo van Doorn <[EMAIL PROTECTED]>
AuthorDate: Tue Sep 25 20:54:20 2007 +0200
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Wed Oct 10 16:53:02 2007 -0700

    [PATCH] rt2x00: Increase rt2x00usb_vendor_request timeout.
    
    By increasing the timeout for rt2x00usb_vendor_request,
    we should limit the number of loops required to send
    a signal to the device succefully.
    500ms timeout is specified by the Ralink legacy drivers
    for rt2500usb. For rt73usb 1000ms is specified, but that
    includes the timeout for the firmware which is already
    specified in a different define.
    
    Signed-off-by: Ivo van Doorn <[EMAIL PROTECTED]>
    Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
---
 drivers/net/wireless/rt2x00/rt2x00usb.c |   10 ++++------
 drivers/net/wireless/rt2x00/rt2x00usb.h |    8 ++++----
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c 
b/drivers/net/wireless/rt2x00/rt2x00usb.c
index 8d20811..66e4761 100644
--- a/drivers/net/wireless/rt2x00/rt2x00usb.c
+++ b/drivers/net/wireless/rt2x00/rt2x00usb.c
@@ -42,7 +42,7 @@ int rt2x00usb_vendor_request(const struct rt2x00_dev 
*rt2x00dev,
                             const u8 request, const u8 requesttype,
                             const u16 offset, const u16 value,
                             void *buffer, const u16 buffer_length,
-                            u16 timeout)
+                            const int timeout)
 {
        struct usb_device *usb_dev =
            interface_to_usbdev(rt2x00dev_usb(rt2x00dev));
@@ -60,12 +60,10 @@ int rt2x00usb_vendor_request(const struct rt2x00_dev 
*rt2x00dev,
                        return 0;
 
                /*
-                * Check for errors,
-                * -ETIMEDOUT: We need a bit more time to complete.
+                * Check for errors
                 * -ENODEV: Device has disappeared, no point continuing.
+                * All other errors: Try again.
                 */
-               if (status == -ETIMEDOUT)
-                       timeout *= 2;
                else if (status == -ENODEV)
                        break;
        }
@@ -81,7 +79,7 @@ EXPORT_SYMBOL_GPL(rt2x00usb_vendor_request);
 int rt2x00usb_vendor_request_buff(const struct rt2x00_dev *rt2x00dev,
                                  const u8 request, const u8 requesttype,
                                  const u16 offset, void *buffer,
-                                 const u16 buffer_length, u16 timeout)
+                                 const u16 buffer_length, const int timeout)
 {
        int status;
 
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.h 
b/drivers/net/wireless/rt2x00/rt2x00usb.h
index d4113e5..2681abe 100644
--- a/drivers/net/wireless/rt2x00/rt2x00usb.h
+++ b/drivers/net/wireless/rt2x00/rt2x00usb.h
@@ -44,7 +44,7 @@
  */
 #define REGISTER_BUSY_COUNT            5
 #define REGISTER_BUSY_DELAY            100
-#define REGISTER_TIMEOUT               20
+#define REGISTER_TIMEOUT               500
 #define REGISTER_TIMEOUT_FIRMWARE      1000
 
 /*
@@ -95,7 +95,7 @@ int rt2x00usb_vendor_request(const struct rt2x00_dev 
*rt2x00dev,
                             const u8 request, const u8 requesttype,
                             const u16 offset, const u16 value,
                             void *buffer, const u16 buffer_length,
-                            u16 timeout);
+                            const int timeout);
 
 /*
  * Used to read/write from/to the device.
@@ -110,7 +110,7 @@ int rt2x00usb_vendor_request(const struct rt2x00_dev 
*rt2x00dev,
 int rt2x00usb_vendor_request_buff(const struct rt2x00_dev *rt2x00dev,
                                  const u8 request, const u8 requesttype,
                                  const u16 offset, void *buffer,
-                                 const u16 buffer_length, u16 timeout);
+                                 const u16 buffer_length, const int timeout);
 
 /*
  * Simple wrapper around rt2x00usb_vendor_request to write a single
@@ -122,7 +122,7 @@ static inline int rt2x00usb_vendor_request_sw(const struct 
rt2x00_dev
                                              const u8 request,
                                              const u16 offset,
                                              const u16 value,
-                                             int timeout)
+                                             const int timeout)
 {
        return rt2x00usb_vendor_request(rt2x00dev, request,
                                        USB_VENDOR_REQUEST_OUT, offset,
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to