On 12/16/2024 7:59 PM, Karthikeyan Periyasamy wrote: > Currently, the ath12k_get_num_hw() helper function takes the device handle > as an argument. Here, the number of hardware is retrieved from the group > handle. Demanding the device handle from the caller is unnecessary since > in some cases the group handle is already available. Therefore, change this > helper function argument from the device handle to the group handle. This > also fixes the below Smatch static checker warning. > > Smatch warning: > ath12k_mac_destroy() error: we previously assumed 'ab' could be null > > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 > > Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > Closes: https://lore.kernel.org/ath12k/3e705de0-67d1-4437-97ff-4828d83ae2af@stanley.mountain/ > Closes: https://scan7.scan.coverity.com/#/project-view/52682/11354?selectedIssue=1602340 > Fixes: a343d97f27f5 ("wifi: ath12k: move struct ath12k_hw from per device to group") > Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@xxxxxxxxxxx> > --- ... > diff --git a/drivers/net/wireless/ath/ath12k/core.h b/drivers/net/wireless/ath/ath12k/core.h > index 6b31e053d6da..f37a50f3eabb 100644 > --- a/drivers/net/wireless/ath/ath12k/core.h > +++ b/drivers/net/wireless/ath/ath12k/core.h > @@ -1209,9 +1209,9 @@ static inline void ath12k_ag_set_ah(struct ath12k_hw_group *ag, int idx, > ag->ah[idx] = ah; > } > > -static inline int ath12k_get_num_hw(struct ath12k_base *ab) > +static inline int ath12k_get_num_hw(struct ath12k_hw_group *ag) > { > - return ab->ag->num_hw; > + return ag->num_hw; since there is no longer multiple indirection perhaps we should just get rid of this and directly use ag->num_hw at all call sites, especially given that there are already places that do this: drivers/net/wireless/ath/ath12k/core.c: for (i = 0; i < ag->num_hw; i++) { drivers/net/wireless/ath/ath12k/mac.c: for (i = 0; i < ag->num_hw; i++) { drivers/net/wireless/ath/ath12k/mac.c: for (i = 0; i < ag->num_hw; i++) { /jeff