aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/rtl8712/drv_types.h
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2012-02-05 21:12:26 -0600
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-08 14:14:15 -0800
commit8c213fa59199f9673d66970d6940fa093186642f (patch)
treee7357cf1101a7b1451ab4b5c05245c34ad97436a /drivers/staging/rtl8712/drv_types.h
parentstaging: usbip: fix to prevent potentially using uninitialized spinlock (diff)
downloadlinux-dev-8c213fa59199f9673d66970d6940fa093186642f.tar.xz
linux-dev-8c213fa59199f9673d66970d6940fa093186642f.zip
staging: r8712u: Use asynchronous firmware loading
In https://bugs.archlinux.org/task/27996, failure of driver r8712u is reported, with a timeout during module loading due to synchronous loading of the firmware. The code now uses request_firmware_nowait(). Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rtl8712/drv_types.h')
-rw-r--r--drivers/staging/rtl8712/drv_types.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/staging/rtl8712/drv_types.h b/drivers/staging/rtl8712/drv_types.h
index 9b5d771e650c..ed85b4415207 100644
--- a/drivers/staging/rtl8712/drv_types.h
+++ b/drivers/staging/rtl8712/drv_types.h
@@ -37,6 +37,8 @@ struct _adapter;
#include "wlan_bssdef.h"
#include "rtl8712_spec.h"
#include "rtl8712_hal.h"
+#include <linux/mutex.h>
+#include <linux/completion.h>
enum _NIC_VERSION {
RTL8711_NIC,
@@ -168,6 +170,7 @@ struct _adapter {
s32 bSurpriseRemoved;
u32 IsrContent;
u32 ImrContent;
+ bool fw_found;
u8 EepromAddressSize;
u8 hw_init_completed;
struct task_struct *cmdThread;
@@ -184,6 +187,10 @@ struct _adapter {
_workitem wkFilterRxFF0;
u8 blnEnableRxFF0Filter;
spinlock_t lockRxFF0Filter;
+ const struct firmware *fw;
+ struct usb_interface *pusb_intf;
+ struct mutex mutex_start;
+ struct completion rtl8712_fw_ready;
};
static inline u8 *myid(struct eeprom_priv *peepriv)