mwifiex: remove global user_scan_cfg variable
[cascardo/linux.git] / drivers / net / wireless / mwifiex / main.h
index 9f98449..315f07e 100644 (file)
@@ -32,6 +32,7 @@
 #include <net/lib80211.h>
 #include <linux/firmware.h>
 #include <linux/ctype.h>
+#include <linux/regulator/machine.h>
 
 #include "decl.h"
 #include "ioctl.h"
@@ -116,7 +117,8 @@ enum {
 
 #define MWIFIEX_EVENT_HEADER_LEN           4
 
-#define MWIFIEX_QUEUE_TIMEOUT_MSEC             5000
+/* Threshold for tx_timeout_cnt before we trigger a card reset */
+#define TX_TIMEOUT_THRESHOLD   6
 
 struct mwifiex_dbg {
        u32 num_cmd_host_to_card_failure;
@@ -369,6 +371,8 @@ struct mwifiex_private {
        u8 curr_addr[ETH_ALEN];
        u8 media_connected;
        u32 num_tx_timeout;
+       /* track consecutive timeout */
+       u8 tx_timeout_cnt;
        struct net_device *netdev;
        struct net_device_stats stats;
        u16 curr_pkt_filter;
@@ -463,7 +467,6 @@ struct mwifiex_private {
        struct semaphore async_sem;
        u8 report_scan_result;
        struct cfg80211_scan_request *scan_request;
-       struct mwifiex_user_scan_cfg *user_scan_cfg;
        u8 cfg_bssid[6];
        u8 country_code[IEEE80211_COUNTRY_STRING_LEN];
        struct wps wps;
@@ -475,6 +478,7 @@ struct mwifiex_private {
        struct mwifiex_ds_misc_subsc_evt async_subsc_evt_storage;
        u32 mgmt_frame_mask;
        u32 mgmt_rx_freq;
+       bool scan_aborting;
 };
 
 enum mwifiex_ba_status {
@@ -558,6 +562,8 @@ struct mwifiex_if_ops {
        void (*cleanup_mpa_buf) (struct mwifiex_adapter *);
        int (*cmdrsp_complete) (struct mwifiex_adapter *, struct sk_buff *);
        int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *);
+       void (*reg_dbg) (struct mwifiex_adapter *);
+       void (*card_reset) (struct mwifiex_adapter *);
 };
 
 struct mwifiex_adapter {
@@ -989,7 +995,8 @@ int mwifiex_get_bss_info(struct mwifiex_private *,
                         struct mwifiex_bss_info *);
 int mwifiex_fill_new_bss_desc(struct mwifiex_private *priv,
                              struct cfg80211_bss *bss,
-                             struct mwifiex_bssdescriptor *bss_desc);
+                             struct mwifiex_bssdescriptor *bss_desc,
+                             u8 *beacon_ie, size_t beacon_ie_len);
 int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
                                    struct mwifiex_bssdescriptor *bss_entry);
 int mwifiex_check_network_compatibility(struct mwifiex_private *priv,