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));
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;
}
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;
*/
#define REGISTER_BUSY_COUNT 5
#define REGISTER_BUSY_DELAY 100
-#define REGISTER_TIMEOUT 20
+#define REGISTER_TIMEOUT 500
#define REGISTER_TIMEOUT_FIRMWARE 1000
/*
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.
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
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,