Re: [PATCH ath-next 2/6] wifi: ath11k: Register debugfs for CFR configuration

Baochen Qiang <[email protected]>
Newsgroups org.infradead.lists.ath11k,org.kernel.vger.linux-kernel,org.kernel.vger.linux-wireless
Message-ID <[email protected]>

On 11/2/2025 5:21 PM, Yu Zhang(Yuriy) wrote:
> 
> 
> On 10/31/2025 10:43 AM, Baochen Qiang wrote:
>>
>>
>> On 10/30/2025 12:31 PM, Yu Zhang(Yuriy) wrote:
>>
>>> @@ -88,6 +275,7 @@ void ath11k_cfr_deinit(struct ath11k_base *ab)
>>>               ar = ab->pdevs[i].ar;
>>>               cfr = &ar->cfr;
>>>   +            ath11k_cfr_debug_unregister(ar);
>>>               ath11k_cfr_ring_free(ar);
>>>                 spin_lock_bh(&cfr->lut_lock);
>>> @@ -140,6 +328,8 @@ int ath11k_cfr_init(struct ath11k_base *ab)
>>>           }
>>>             cfr->lut_num = num_lut_entries;
>>> +
>>> +        ath11k_cfr_debug_register(ar);
>>>       }
>>>         return 0;
>>
>> miss _debug_unregister() in the error handling?
>>
>>
> The documention for debugfs_create_file() tells us:
>  * NOTE: it's expected that most callers should _ignore_ the errors returned
>  * by this function. Other debugfs functions handle the fact that the "dentry"
>  * passed to them could be an error and they don't crash in that case.
>  * Drivers should generally work fine even if debugfs fails to init anyway.
> 
> So IMO any failure to create the file should be ignored.

Maybe I was not clear ...

I was not meaning the error check on ath11k_cfr_debug_register() or debugfs_create_file(),
but was meaning that in the err handling below it, _debug_unregistered needs to be added:

		cfr->lut_num = num_lut_entries;
+
+               ath11k_cfr_debug_register(ar);
	}

	return 0;

err:
	for (i = i - 1; i >= 0; i--) {
		ar = ab->pdevs[i].ar;
		cfr = &ar->cfr;

+		ath11k_cfr_debug_unregister()
		ath11k_cfr_ring_free(ar);

		spin_lock_bh(&cfr->lut_lock);
		kfree(cfr->lut);
		cfr->lut = NULL;
		spin_unlock_bh(&cfr->lut_lock);
	}
	return ret;
}

> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.