diff options
| author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-09-25 20:52:53 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-09-25 20:52:52 -0700 |
| commit | d9918fae67ffde70709784781a6ad09dd86e5a82 (patch) | |
| tree | 66519e42b18380e8b892f4e486d4d9f8eb3ee6d8 | |
| parent | f6a77ac2d83cd499d3cf3d5d205f786ff445fafd (diff) | |
| parent | 2b8566eb277283e4466b5a85c3b075eaacefc7ce (diff) | |
Merge "ath10k: skip sending default IE in scan request added by firmware"
| -rw-r--r-- | drivers/net/wireless/ath/ath10k/mac.c | 15 |
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) { |
