[PATCH v2 3/4] wifi: ath12k: Refactor ath12k_get_num_hw() helper function argument
Karthikeyan Periyasamy
quic_periyasa at quicinc.com
Sat Jan 11 01:02:42 PST 2025
On 1/10/2025 9:42 PM, Jeff Johnson wrote:
> 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++) {
>
Sure, will fix in the next version of the patch.
--
Karthikeyan Periyasamy
--
கார்த்திகேயன் பெரியசாமி
More information about the ath12k
mailing list