Re: [PATCH net-next v3] wifi: ath9k: Remove error checking for debugfs_create_dir()

From: Kalle Valo
Date: Tue Aug 22 2023 - 01:43:37 EST


Toke Høiland-Jørgensen <toke@xxxxxxx> writes:

> Kalle Valo <kvalo@xxxxxxxxxx> writes:
>
>> Toke Høiland-Jørgensen <toke@xxxxxxx> writes:
>>
>>> Wang Ming <machel@xxxxxxxx> writes:
>>>
>>>> It is expected that most callers should _ignore_ the errors
>>>> return by debugfs_create_dir() in ath9k_htc_init_debug().
>>>>
>>>> Signed-off-by: Wang Ming <machel@xxxxxxxx>
>>>> ---
>>>> drivers/net/wireless/ath/ath9k/htc_drv_debug.c | 2 --
>>>> 1 file changed, 2 deletions(-)
>>>>
>>>> diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_debug.c b/drivers/net/wireless/ath/ath9k/htc_drv_debug.c
>>>> index b3ed65e5c4da..85ad45771b44 100644
>>>> --- a/drivers/net/wireless/ath/ath9k/htc_drv_debug.c
>>>> +++ b/drivers/net/wireless/ath/ath9k/htc_drv_debug.c
>>>> @@ -491,8 +491,6 @@ int ath9k_htc_init_debug(struct ath_hw *ah)
>>>>
>>>> priv->debug.debugfs_phy = debugfs_create_dir(KBUILD_MODNAME,
>>>> priv->hw->wiphy->debugfsdir);
>>>> - if (!priv->debug.debugfs_phy)
>>>> - return -ENOMEM;
>>>
>>> Hmm, so it's true that all the debugfs_create* functions deal correctly
>>> with the dir pointer being an error pointer, which means that it's
>>> possible to just ignore the return value of debugfs_create_dir() without
>>> anything breaking.
>>
>> The comment in debugfs_create_dir() states:
>>
>> * 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.
>>
>>> However, it also seems kinda pointless to have all those calls if we
>>> know they're going to fail, so I prefer v1 of this patch that just
>>> fixed the IS_ERR check. No need to resend, we can just apply v1
>>> instead...
>>
>> Because of the comment I'm leaning towards v3.
>
> Well, the comment says "most callers" :)
>
> I think having an early return like this is perfectly valid
> optimisation, even if it doesn't really make any performance difference.
> I don't feel incredibly strongly about it (given that the current check
> is broken I guess the early return has never actually worked), so if you
> feel like overriding your submaintainer on this, feel free ;)

No no, I don't want to override anything :) Just making sure you were
aware of the comment. v1 is in my pending branch right now.

--
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches