summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath6kl/core.h
diff options
context:
space:
mode:
authorKalle Valo <kvalo@qca.qualcomm.com>2011-12-13 16:52:07 +0400
committerKalle Valo <kvalo@qca.qualcomm.com>2011-12-13 17:03:49 +0400
commit10509f903ebb7d2a02571f30cb937dd923b023cf (patch)
tree6787da43aeb8eaecac6f9d82e640a639ceb3e20f /drivers/net/wireless/ath/ath6kl/core.h
parent277d90f4ba4b7ebb35b85a5d6c58dce2f1e1b58d (diff)
downloadlinux-10509f903ebb7d2a02571f30cb937dd923b023cf.tar.xz
ath6kl: implement scheduled scan
ath6kl firmware supports scheduled scan functionality with the wow ssid filter. But the firmware does not send any events after scan results so I had to add a timer which notifies about new scan results. Sched scan needs firmware version 3.2.0.6 or later. If firmware doesn't support sched scan the driver will not enable the feature. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/core.h')
-rw-r--r--drivers/net/wireless/ath/ath6kl/core.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/core.h b/drivers/net/wireless/ath/ath6kl/core.h
index 36bd85dfe126..8bc1907f8ded 100644
--- a/drivers/net/wireless/ath/ath6kl/core.h
+++ b/drivers/net/wireless/ath/ath6kl/core.h
@@ -76,6 +76,7 @@ enum ath6kl_fw_ie_type {
enum ath6kl_fw_capability {
ATH6KL_FW_CAPABILITY_HOST_P2P = 0,
+ ATH6KL_FW_CAPABILITY_SCHED_SCAN = 1,
/* this needs to be last */
ATH6KL_FW_CAPABILITY_MAX,
@@ -447,7 +448,10 @@ struct ath6kl_vif {
struct ath6kl_wep_key wep_key_list[WMI_MAX_KEY_INDEX + 1];
struct ath6kl_key keys[WMI_MAX_KEY_INDEX + 1];
struct aggr_info *aggr_cntxt;
+
struct timer_list disconnect_timer;
+ struct timer_list sched_scan_timer;
+
struct cfg80211_scan_request *scan_req;
enum sme_state sme_state;
int reconnect_flag;
@@ -465,6 +469,8 @@ struct ath6kl_vif {
#define WOW_LIST_ID 0
#define WOW_HOST_REQ_DELAY 500 /* ms */
+#define ATH6KL_SCHED_SCAN_RESULT_DELAY 5000 /* ms */
+
/* Flag info */
enum ath6kl_dev_state {
WMI_ENABLED,
@@ -483,6 +489,7 @@ enum ath6kl_state {
ATH6KL_STATE_DEEPSLEEP,
ATH6KL_STATE_CUTPOWER,
ATH6KL_STATE_WOW,
+ ATH6KL_STATE_SCHED_SCAN,
};
struct ath6kl {