Messages in this thread | | | From | Toke Høiland-Jørgensen <> | Subject | Re: [PATCH net-next v3] wifi: ath9k: Remove error checking for debugfs_create_dir() | Date | Mon, 21 Aug 2023 15:55:06 +0200 |
| |
Kalle Valo <kvalo@kernel.org> writes:
> Toke Høiland-Jørgensen <toke@toke.dk> writes: > >> Wang Ming <machel@vivo.com> 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@vivo.com> >>> --- >>> 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 ;)
-Toke
| |