aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/if_usb.h
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2007-12-11 00:07:58 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 15:06:39 -0800
commit4f82f5c853e314dfe877b87b4c1e4b127ee9a34b (patch)
tree71f48875b74f1a0a0c010bb9b9cd37cb31d72f69 /drivers/net/wireless/libertas/if_usb.h
parentlibertas: improve reliability of firmware reloading on USB (diff)
downloadlinux-dev-4f82f5c853e314dfe877b87b4c1e4b127ee9a34b.tar.xz
linux-dev-4f82f5c853e314dfe877b87b4c1e4b127ee9a34b.zip
libertas: switch to a waitqueue and timer for handling USB firmware load
No need to busy-wait, even if we did have a 100ms delay in the loop. This makes it easier to support the new 'firmware ready' event which is in the new firmware, too. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/if_usb.h')
-rw-r--r--drivers/net/wireless/libertas/if_usb.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/if_usb.h b/drivers/net/wireless/libertas/if_usb.h
index 940a369f1fe7..224c957e292d 100644
--- a/drivers/net/wireless/libertas/if_usb.h
+++ b/drivers/net/wireless/libertas/if_usb.h
@@ -1,6 +1,9 @@
#ifndef _LBS_IF_USB_H
#define _LBS_IF_USB_H
+#include <linux/wait.h>
+#include <linux/timer.h>
+
/**
* This file contains definition for USB interface.
*/
@@ -56,6 +59,8 @@ struct usb_card_rec {
u8 bulk_out_endpointAddr;
const struct firmware *fw;
+ struct timer_list fw_timeout;
+ wait_queue_head_t fw_wq;
u8 CRC_OK;
u32 fwseqnum;
u32 lastseqnum;