summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-09-25 20:52:53 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-09-25 20:52:52 -0700
commitd9918fae67ffde70709784781a6ad09dd86e5a82 (patch)
tree66519e42b18380e8b892f4e486d4d9f8eb3ee6d8
parentf6a77ac2d83cd499d3cf3d5d205f786ff445fafd (diff)
parent2b8566eb277283e4466b5a85c3b075eaacefc7ce (diff)
Merge "ath10k: skip sending default IE in scan request added by firmware"
-rw-r--r--drivers/net/wireless/ath/ath10k/mac.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 4bb14d43e136..e105a5d04d21 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -5479,7 +5479,8 @@ static int ath10k_hw_scan(struct ieee80211_hw *hw,
struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
struct cfg80211_scan_request *req = &hw_req->req;
struct wmi_start_scan_arg arg;
- int ret = 0;
+ const u8 *ptr;
+ int ret = 0, ie_skip_len = 0;
int i;
mutex_lock(&ar->conf_mutex);
@@ -5511,8 +5512,16 @@ static int ath10k_hw_scan(struct ieee80211_hw *hw,
arg.scan_id = ATH10K_SCAN_ID;
if (req->ie_len) {
- arg.ie_len = req->ie_len;
- memcpy(arg.ie, req->ie, arg.ie_len);
+ if (QCA_REV_WCN3990(ar)) {
+ ptr = req->ie;
+ while (ptr[0] == WLAN_EID_SUPP_RATES ||
+ ptr[0] == WLAN_EID_EXT_SUPP_RATES) {
+ ie_skip_len = ptr[1] + 2;
+ ptr += ie_skip_len;
+ }
+ }
+ arg.ie_len = req->ie_len - ie_skip_len;
+ memcpy(arg.ie, req->ie + ie_skip_len, arg.ie_len);
}
if (req->n_ssids) {