On 4/22/2024 5:56 AM, Rameshkumar Sundaram wrote: > From: Sriram R <quic_srirrama@xxxxxxxxxxx> > > Currently ieee80211_vif/ahvif is passed as argument for all vif > related control path functions that are being called from > mac80211 ops. With MLO support being added multiple link vifs can > be part of an ieee80211_vif/ahvif and all these functions will need > link id along with ieee80211_vif/ahvif to be passed to fetch the > corresponding link vif (arvif) to which the control/config applies. > Also all these functions need to validate the locking dependency before > dereferencing and start using the link vifs. > > To avoid these redundant link dereferences and validations, > limit ieee80211_vif/ahvif argument to mac80211 ops unless > otherwise really required. Do link vif dereference and locking only in > mac80211 ops. > Replace vif arg with ath12k_link_vif and internally fetch ath12k_vif(ahvif) > and vif(ieee80211_vif) if required on other functions. > > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 > > Signed-off-by: Sriram R <quic_srirrama@xxxxxxxxxxx> > Co-developed-by: Rameshkumar Sundaram <quic_ramess@xxxxxxxxxxx> > Signed-off-by: Rameshkumar Sundaram <quic_ramess@xxxxxxxxxxx> Acked-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx>