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

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

ath10k: Fix p2p_listen for wcn3990



p2p_listen not working due to inncorrect scan flags
passed to firmware.

Disable the fitlering out of probe request flag in
scan flag during remain on channel in p2p listen.

CRs-Fixed: 2095628
Change-Id: Ie39222c487160ba4001771fc8e1c6f6f161dfb65
Signed-off-by: default avatarRakesh Pillai <pillair@codeaurora.org>
parent fa33f6bd
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -6419,6 +6419,9 @@ static int ath10k_remain_on_channel(struct ieee80211_hw *hw,
	arg.dwell_time_passive = scan_time_msec;
	arg.dwell_time_passive = scan_time_msec;
	arg.max_scan_time = scan_time_msec;
	arg.max_scan_time = scan_time_msec;
	arg.scan_ctrl_flags |= WMI_SCAN_FLAG_PASSIVE;
	arg.scan_ctrl_flags |= WMI_SCAN_FLAG_PASSIVE;
	if (QCA_REV_WCN3990(ar))
		arg.scan_ctrl_flags &= ~WMI_SCAN_FILTER_PROBE_REQ;
	else
		arg.scan_ctrl_flags |= WMI_SCAN_FILTER_PROBE_REQ;
		arg.scan_ctrl_flags |= WMI_SCAN_FILTER_PROBE_REQ;
	arg.burst_duration_ms = duration;
	arg.burst_duration_ms = duration;


+1 −5
Original line number Original line Diff line number Diff line
@@ -1553,11 +1553,7 @@ ath10k_wmi_tlv_op_gen_start_scan(struct ath10k *ar,
	cmd->ie_len = __cpu_to_le32(arg->ie_len);
	cmd->ie_len = __cpu_to_le32(arg->ie_len);
	cmd->num_probes = __cpu_to_le32(3);
	cmd->num_probes = __cpu_to_le32(3);


	if (QCA_REV_WCN3990(ar)) {
	if (!QCA_REV_WCN3990(ar)) {
		cmd->common.scan_ctrl_flags = ar->fw_flags->flags;
		cmd->common.scan_ctrl_flags |=
					__cpu_to_le32(WMI_SCAN_CHAN_STAT_EVENT);
	} else {
		cmd->common.scan_ctrl_flags ^=
		cmd->common.scan_ctrl_flags ^=
			__cpu_to_le32(WMI_SCAN_FILTER_PROBE_REQ);
			__cpu_to_le32(WMI_SCAN_FILTER_PROBE_REQ);
	}
	}
+2 −0
Original line number Original line Diff line number Diff line
@@ -6192,6 +6192,8 @@ void ath10k_wmi_start_scan_init(struct ath10k *ar,
		| WMI_SCAN_EVENT_BSS_CHANNEL
		| WMI_SCAN_EVENT_BSS_CHANNEL
		| WMI_SCAN_EVENT_FOREIGN_CHANNEL
		| WMI_SCAN_EVENT_FOREIGN_CHANNEL
		| WMI_SCAN_EVENT_DEQUEUED;
		| WMI_SCAN_EVENT_DEQUEUED;
	if (QCA_REV_WCN3990(ar))
		arg->scan_ctrl_flags = ar->fw_flags->flags;
	arg->scan_ctrl_flags |= WMI_SCAN_CHAN_STAT_EVENT;
	arg->scan_ctrl_flags |= WMI_SCAN_CHAN_STAT_EVENT;
	arg->n_bssids = 1;
	arg->n_bssids = 1;
	arg->bssids[0].bssid = "\xFF\xFF\xFF\xFF\xFF\xFF";
	arg->bssids[0].bssid = "\xFF\xFF\xFF\xFF\xFF\xFF";