mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
netdevsim: remove dir in nsim_dev_debugfs_init() when creating ports dir failed
[ Upstream commita6aa8d0ce2
] Remove dir in nsim_dev_debugfs_init() when creating ports dir failed. Otherwise, the netdevsim device will not be created next time. Kernel reports an error: debugfs: Directory 'netdevsim1' with parent 'netdevsim' already present! Fixes:ab1d0cc004
("netdevsim: change debugfs tree topology") Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
7c4957fe40
commit
5f946eb3ae
1 changed files with 7 additions and 4 deletions
|
@ -309,8 +309,10 @@ static int nsim_dev_debugfs_init(struct nsim_dev *nsim_dev)
|
|||
if (IS_ERR(nsim_dev->ddir))
|
||||
return PTR_ERR(nsim_dev->ddir);
|
||||
nsim_dev->ports_ddir = debugfs_create_dir("ports", nsim_dev->ddir);
|
||||
if (IS_ERR(nsim_dev->ports_ddir))
|
||||
return PTR_ERR(nsim_dev->ports_ddir);
|
||||
if (IS_ERR(nsim_dev->ports_ddir)) {
|
||||
err = PTR_ERR(nsim_dev->ports_ddir);
|
||||
goto err_ddir;
|
||||
}
|
||||
debugfs_create_bool("fw_update_status", 0600, nsim_dev->ddir,
|
||||
&nsim_dev->fw_update_status);
|
||||
debugfs_create_u32("fw_update_overwrite_mask", 0600, nsim_dev->ddir,
|
||||
|
@ -346,7 +348,7 @@ static int nsim_dev_debugfs_init(struct nsim_dev *nsim_dev)
|
|||
nsim_dev->nodes_ddir = debugfs_create_dir("rate_nodes", nsim_dev->ddir);
|
||||
if (IS_ERR(nsim_dev->nodes_ddir)) {
|
||||
err = PTR_ERR(nsim_dev->nodes_ddir);
|
||||
goto err_out;
|
||||
goto err_ports_ddir;
|
||||
}
|
||||
debugfs_create_bool("fail_trap_drop_counter_get", 0600,
|
||||
nsim_dev->ddir,
|
||||
|
@ -354,8 +356,9 @@ static int nsim_dev_debugfs_init(struct nsim_dev *nsim_dev)
|
|||
nsim_udp_tunnels_debugfs_create(nsim_dev);
|
||||
return 0;
|
||||
|
||||
err_out:
|
||||
err_ports_ddir:
|
||||
debugfs_remove_recursive(nsim_dev->ports_ddir);
|
||||
err_ddir:
|
||||
debugfs_remove_recursive(nsim_dev->ddir);
|
||||
return err;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue