wlan-ap-Telecominfraproject/feeds/ipq95xx/mac80211/patches/qca/751-wifi-02-ath12k-Fix-missing-duplicate-beacons-in-PSC-channels.patch
John Crispin 144c5d00f4 ipq95xx/mac80211: update to ATH12.3-CS
Signed-off-by: John Crispin <john@phrozen.org>
2024-02-28 18:56:21 +01:00

45 lines
1.6 KiB
Diff

From 114638e5b2cd1912145af0f9dc53ae683acf0e36 Mon Sep 17 00:00:00 2001
From: Sriram R <quic_srirrama@quicinc.com>
Date: Fri, 24 Mar 2023 22:48:21 +0530
Subject: [PATCH 2/2] ath12k: Fix missing duplicate beacons in PSC channels
When an 6GHz AP is brought up in a non PSC channels,
duplicate beacons and FD/Probe response are sent in
remaining 20MHz channels (including PSC channels) to
aid the clients in faster scanning of the AP.
Currently, these duplicate beacons are not transmitted
by FW due to misconfiguration of the Tx vdev flag in
vdev start. FW expects VDEV_FLAGS_TRANSMIT_AP mbssid flag
in vdev start by default for a 6GHz AP irrespective of
single or multi bssid case since a 6GHz AP is expected to
be MBSS capable.
Hence set VDEV_FLAGS_TRANSMIT_AP in mbssid flags arg of
Vdev start WMI command.
Signed-off-by: Sriram R <quic_srirrama@quicinc.com>
---
drivers/net/wireless/ath/ath12k/mac.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -9173,7 +9173,15 @@ static int ath12k_mac_setup_vdev_params_
*tx_vdev_id = 0;
tx_vif = link_conf->mbssid_tx_vif;
if (!tx_vif) {
- *flags = WMI_HOST_VDEV_FLAGS_NON_MBSSID_AP;
+ /* Since a 6GHz AP is MBSS capable by default, FW expects
+ * Tx vdev flag to be set even in case of single bss case
+ * WMI_HOST_VDEV_FLAGS_NON_MBSSID_AP is to be used for non 6GHz
+ * cases
+ */
+ if (ar->supports_6ghz && arvif->ahvif->vif->type == NL80211_IFTYPE_AP)
+ *flags = WMI_HOST_VDEV_FLAGS_TRANSMIT_AP;
+ else
+ *flags = WMI_HOST_VDEV_FLAGS_NON_MBSSID_AP;
rcu_read_unlock();
return 0;
}