Search Linux Wireless

[PATCH wireless-next 3/3] wifi: ath12k: Send Puncturing pattern of mesh peer during assoc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Rameshkumar Sundaram <rameshkumar.sundaram@xxxxxxxxxxxxxxxx>

Mesh peers can have different puncture pattern. Currently,
when associating with a mesh peer, the mesh peer's puncture pattern
is not updated to the firmware.

The puncturing bitmap should intersect when the mesh station
has a different puncturing bitmap than the self mesh vdev
punctured pattern.

Update the mesh peer puncturing bitmap in WMI peer
assoc command. Firmware will internally intersect peer
assoc puncturing param with self mesh vdev puncture pattern
and determine EHT PPDU Tx bandwidth for the peer.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1

Signed-off-by: Rameshkumar Sundaram <rameshkumar.sundaram@xxxxxxxxxxxxxxxx>
Signed-off-by: Ramasamy Kaliappan <ramasamy.kaliappan@xxxxxxxxxxxxxxxx>
---
 drivers/net/wireless/ath/ath12k/mac.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 88b59f3ff87a..4ac3d4f350ea 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -3028,6 +3028,9 @@ static void ath12k_peer_assoc_h_eht(struct ath12k *ar,
 	}
 
 	arg->punct_bitmap = ~arvif->punct_bitmap;
+	if (ieee80211_vif_is_mesh(arvif->ahvif->vif) && sta->deflink.punctured)
+		arg->punct_bitmap = ~sta->deflink.punctured;
+
 	arg->eht_disable_mcs15 = link_conf->eht_disable_mcs15;
 }
 
-- 
2.34.1





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux