On 12/10/2023 10:22 PM, Baochen Qiang wrote: > From: Wen Gong <quic_wgong@xxxxxxxxxxx> > > The regulatory info of WMI_REG_CHAN_LIST_CC_EXT_EVENTID is not saved > in ath11k now, the info should be saved in ath11k. Save the info for > each radio and support switch regulatory rules dynamically. > > Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23 > > Signed-off-by: Wen Gong <quic_wgong@xxxxxxxxxxx> > Acked-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx> > Signed-off-by: Baochen Qiang <quic_bqiang@xxxxxxxxxxx> > --- > v9: > 1. add check to soc->reg_info_store in case memory allocation fails. > 2. remove irrelevant change w.r.t commit message. > v8: > no change. > v7: > 1. fix ath11k-check warning > 2. fix memory leak. > > drivers/net/wireless/ath/ath11k/core.h | 1 + > drivers/net/wireless/ath/ath11k/reg.c | 6 + > drivers/net/wireless/ath/ath11k/wmi.c | 153 ++++++++++++++++++------- > drivers/net/wireless/ath/ath11k/wmi.h | 5 + > 4 files changed, 122 insertions(+), 43 deletions(-) I came across a nit during re-review. Kalle, can you fix in the pending branch? > diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c > index 75c79c99faa9..78bc2715e476 100644 > --- a/drivers/net/wireless/ath/ath11k/wmi.c > +++ b/drivers/net/wireless/ath/ath11k/wmi.c > +static > +enum wmi_vdev_type ath11k_reg_get_ar_vdev_type(struct ath11k *ar) > +{ > + struct ath11k_vif *arvif; > > - ath11k_dbg(ab, ATH11K_DBG_WMI, "event reg chan list id %d", id); > + /* Currently each struct ath11k maps to one struct ieee80211_hw/wiphy > + * and one struct ieee80211_regdomain, so it could only store one group > + * reg rules. It means muti-interface concurrency in the same ath11k is nit: s/muti/multi/ > + * not support for the regdomain. So get the vdev type of the first entry > + * now. After concurrency support for the regdomain, this should change. > + */