From 75ab52cc23f357c2c80a17f64b7884cf8a40a2c4 Mon Sep 17 00:00:00 2001 From: Rakesh Pillai Date: Sat, 19 Aug 2017 11:50:23 +0530 Subject: [PATCH] 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 --- drivers/net/wireless/ath/ath10k/mac.c | 14 +++++++++++--- drivers/net/wireless/ath/ath10k/wmi.h | 2 ++ 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 -- 2.11.0