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

Commit dbd3f9f3 authored by Michal Kazior's avatar Michal Kazior Committed by Kalle Valo
Browse files

ath10k: use scan burst for hw roc



This improves chances of getting onto a foreign
channel and thus makes P2P a bit more reliable.

Without scan burst it was possible for firmware to
not switch to foreign channel resulting in "failed
to switch to channel for roc scan" warning. This
would also effectively fail some offchan tx
requests and lead to P2P find/connect taking
longer. This could be observed when other vifs
were running/busy, e.g. with P2P GO.

Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent fcf98446
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -5435,6 +5435,7 @@ static int ath10k_remain_on_channel(struct ieee80211_hw *hw,
	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;
	arg.scan_ctrl_flags |= WMI_SCAN_FILTER_PROBE_REQ;
	arg.scan_ctrl_flags |= WMI_SCAN_FILTER_PROBE_REQ;
	arg.burst_duration_ms = duration;


	ret = ath10k_start_scan(ar, &arg);
	ret = ath10k_start_scan(ar, &arg);
	if (ret) {
	if (ret) {
+1 −1
Original line number Original line Diff line number Diff line
@@ -1406,7 +1406,7 @@ ath10k_wmi_tlv_op_gen_start_scan(struct ath10k *ar,
	cmd = (void *)tlv->value;
	cmd = (void *)tlv->value;


	ath10k_wmi_put_start_scan_common(&cmd->common, arg);
	ath10k_wmi_put_start_scan_common(&cmd->common, arg);
	cmd->burst_duration_ms = __cpu_to_le32(0);
	cmd->burst_duration_ms = __cpu_to_le32(arg->burst_duration_ms);
	cmd->num_channels = __cpu_to_le32(arg->n_channels);
	cmd->num_channels = __cpu_to_le32(arg->n_channels);
	cmd->num_ssids = __cpu_to_le32(arg->n_ssids);
	cmd->num_ssids = __cpu_to_le32(arg->n_ssids);
	cmd->num_bssids = __cpu_to_le32(arg->n_bssids);
	cmd->num_bssids = __cpu_to_le32(arg->n_bssids);
+1 −0
Original line number Original line Diff line number Diff line
@@ -2169,6 +2169,7 @@ struct wmi_start_scan_arg {
	u32 max_scan_time;
	u32 max_scan_time;
	u32 probe_delay;
	u32 probe_delay;
	u32 scan_ctrl_flags;
	u32 scan_ctrl_flags;
	u32 burst_duration_ms;


	u32 ie_len;
	u32 ie_len;
	u32 n_channels;
	u32 n_channels;