[PATCH v2 3/4] wifi: ath12k: Refactor ath12k_get_num_hw() helper function argument
Jeff Johnson
jeff.johnson at oss.qualcomm.com
Fri Jan 10 08:12:45 PST 2025
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 at linaro.org>
> 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 at quicinc.com>
> ---
...
> 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
More information about the ath12k
mailing list