Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

wifi: ath12k: pass tx arvif for MBSSID and EMA beacon generation

Add new input parameter to ath12k_mac_setup_bcn_tmpl_ema() for
'tx_arvif' as the caller ath12k_mac_setup_bcn_tmpl() already
stores it locally. Avoid duplicate retrieval.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1

Signed-off-by: Aloka Dixit <aloka.dixit@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20250210182718.408891-5-aloka.dixit@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>

authored by

Aloka Dixit and committed by
Jeff Johnson
5f1e9f2c 20fe6390

+3 -4
+3 -4
drivers/net/wireless/ath/ath12k/mac.c
··· 1643 1643 } 1644 1644 } 1645 1645 1646 - static int ath12k_mac_setup_bcn_tmpl_ema(struct ath12k_link_vif *arvif) 1646 + static int ath12k_mac_setup_bcn_tmpl_ema(struct ath12k_link_vif *arvif, 1647 + struct ath12k_link_vif *tx_arvif) 1647 1648 { 1648 1649 struct ath12k_vif *ahvif = arvif->ahvif; 1649 1650 struct ieee80211_bss_conf *bss_conf; 1650 1651 struct ath12k_wmi_bcn_tmpl_ema_arg ema_args; 1651 1652 struct ieee80211_ema_beacons *beacons; 1652 - struct ath12k_link_vif *tx_arvif; 1653 1653 bool nontx_profile_found = false; 1654 1654 int ret = 0; 1655 1655 u8 i; ··· 1662 1662 return -ENOLINK; 1663 1663 } 1664 1664 1665 - tx_arvif = ath12k_mac_get_tx_arvif(arvif); 1666 1665 beacons = ieee80211_beacon_get_template_ema_list(ath12k_ar_to_hw(tx_arvif->ar), 1667 1666 tx_arvif->ahvif->vif, 1668 1667 tx_arvif->link_id); ··· 1730 1731 return 0; 1731 1732 1732 1733 if (link_conf->ema_ap) 1733 - return ath12k_mac_setup_bcn_tmpl_ema(arvif); 1734 + return ath12k_mac_setup_bcn_tmpl_ema(arvif, tx_arvif); 1734 1735 } else { 1735 1736 tx_arvif = arvif; 1736 1737 }