summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRakesh Pillai <pillair@codeaurora.org>2017-08-19 11:50:23 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-09-25 23:42:39 -0700
commit75ab52cc23f357c2c80a17f64b7884cf8a40a2c4 (patch)
tree2c389b81783f94c7ddae26866951fd7013ba4cc9
parent8e65f8799f77e0b471b8c2e6d67589b153f51933 (diff)
ath10k: Fix unwanted probe requests sent during p2p scan
During p2p find unwanted probe requests with broadcast SSID is sent along with the probe requests with p2p wildcard SSID. The addition of survey report flag in scan flags initiates an active scan along with the p2p scan, due to which we see probe requests with broadcast SSID along with the probe requests having p2p wildcard SSID. Fix the flags sent during scan command for p2p scan. CRs-Fixed: 2093805 Change-Id: I7c2a1502ef86bc5151e8c86f4a89f073e75a925d Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
-rw-r--r--drivers/net/wireless/ath/ath10k/mac.c14
-rw-r--r--drivers/net/wireless/ath/ath10k/wmi.h2
2 files changed, 13 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 87058dc53805..453ba48af97b 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -5521,6 +5521,11 @@ static int ath10k_hw_scan(struct ieee80211_hw *hw,
arg.ssids[i].len = req->ssids[i].ssid_len;
arg.ssids[i].ssid = req->ssids[i].ssid;
}
+ if (QCA_REV_WCN3990(ar)) {
+ arg.scan_ctrl_flags &=
+ ~(WMI_SCAN_ADD_BCAST_PROBE_REQ |
+ WMI_SCAN_CHAN_STAT_EVENT);
+ }
} else {
arg.scan_ctrl_flags |= WMI_SCAN_FLAG_PASSIVE;
}
@@ -6419,10 +6424,13 @@ static int ath10k_remain_on_channel(struct ieee80211_hw *hw,
arg.dwell_time_passive = scan_time_msec;
arg.max_scan_time = scan_time_msec;
arg.scan_ctrl_flags |= WMI_SCAN_FLAG_PASSIVE;
- if (QCA_REV_WCN3990(ar))
- arg.scan_ctrl_flags &= ~WMI_SCAN_FILTER_PROBE_REQ;
- else
+ if (QCA_REV_WCN3990(ar)) {
+ arg.scan_ctrl_flags &= ~(WMI_SCAN_FILTER_PROBE_REQ |
+ WMI_SCAN_CHAN_STAT_EVENT |
+ WMI_SCAN_ADD_BCAST_PROBE_REQ);
+ } else {
arg.scan_ctrl_flags |= WMI_SCAN_FILTER_PROBE_REQ;
+ }
arg.burst_duration_ms = duration;
ret = ath10k_start_scan(ar, &arg);
diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h
index 7ae07a505c59..f59e5f86708b 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -2960,6 +2960,8 @@ struct wmi_start_scan_arg {
/* Different FW scan engine may choose to bail out on errors.
* Allow the driver to have influence over that. */
#define WMI_SCAN_CONTINUE_ON_ERROR 0x80
+/** add DS content in probe req frame */
+#define WMI_SCAN_ADD_DS_IE_IN_PROBE_REQ 0x800
/* WMI_SCAN_CLASS_MASK must be the same value as IEEE80211_SCAN_CLASS_MASK */
#define WMI_SCAN_CLASS_MASK 0xFF000000