[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