bnxt_en: Remove debugfs when pci_register_driver failed
authorGaosheng Cui <cuigaosheng1@huawei.com>
Fri, 11 Nov 2022 07:04:33 +0000 (15:04 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Nov 2022 08:24:39 +0000 (09:24 +0100)
[ Upstream commit 991aef4ee4f6eb999924f429b943441a32835c8f ]

When pci_register_driver failed, we need to remove debugfs,
which will caused a resource leak, fix it.

Resource leak logs as follows:
[   52.184456] debugfs: Directory 'bnxt_en' with parent '/' already present!

Fixes: cabfb09d87bd ("bnxt_en: add debugfs support for DIM")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index db1864a..117f5cc 100644 (file)
@@ -13697,8 +13697,16 @@ static struct pci_driver bnxt_pci_driver = {
 
 static int __init bnxt_init(void)
 {
+       int err;
+
        bnxt_debug_init();
-       return pci_register_driver(&bnxt_pci_driver);
+       err = pci_register_driver(&bnxt_pci_driver);
+       if (err) {
+               bnxt_debug_exit();
+               return err;
+       }
+
+       return 0;
 }
 
 static void __exit bnxt_exit(void)