Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75547c81 authored by Rakesh Pillai's avatar Rakesh Pillai Committed by Gerrit - the friendly Code Review server
Browse files

ath10k: skip sending default IE in scan request added by firmware



Supported rates and extended supported rates are added in probe
request automatically by firmware. The IE sent by host in the scan
request command is appended to this. If host also sends supported
and extended supported rates IE, then these IEs are duplicated in
the probe requests.

Skip sending the supported rates and extended supported rates IEs
in the start scan command for wcn3990.

CRs-Fixed: 2093804
Change-Id: I9afe85a3602a3935557894ed8c6e1af8cb47967d
Signed-off-by: default avatarRakesh Pillai <pillair@codeaurora.org>
parent 11b3c7fa
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -5472,7 +5472,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);
@@ -5504,8 +5505,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) {