mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 13:53:33 +00:00
i40e: Fix error handling in i40e_init_module()
i40e_init_module() won't free the debugfs directory created by
i40e_dbg_init() when pci_register_driver() failed. Add fail path to
call i40e_dbg_exit() to remove the debugfs entries to prevent the bug.
i40e: Intel(R) Ethernet Connection XL710 Network Driver
i40e: Copyright (c) 2013 - 2019 Intel Corporation.
debugfs: Directory 'i40e' with parent '/' already present!
Fixes: 41c445ff0f
("i40e: main driver core")
Signed-off-by: Shang XiaoJing <shangxiaojing@huawei.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
8cfa238a48
commit
479dd06149
1 changed files with 10 additions and 1 deletions
|
@ -16644,6 +16644,8 @@ static struct pci_driver i40e_driver = {
|
|||
**/
|
||||
static int __init i40e_init_module(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
pr_info("%s: %s\n", i40e_driver_name, i40e_driver_string);
|
||||
pr_info("%s: %s\n", i40e_driver_name, i40e_copyright);
|
||||
|
||||
|
@ -16661,7 +16663,14 @@ static int __init i40e_init_module(void)
|
|||
}
|
||||
|
||||
i40e_dbg_init();
|
||||
return pci_register_driver(&i40e_driver);
|
||||
err = pci_register_driver(&i40e_driver);
|
||||
if (err) {
|
||||
destroy_workqueue(i40e_wq);
|
||||
i40e_dbg_exit();
|
||||
return err;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
module_init(i40e_init_module);
|
||||
|
||||
|
|
Loading…
Reference in a new issue