debugfs_remove is used to remove a file or an empty directory from
the debugfs filesystem, but mci->debugfs is not empty.

This is not easily discovered, because debugfs_remove return nothing
when failed.

Reported-by: Yun Wu (Abel) <wuyun...@huawei.com>
Signed-off-by: Tan Xiaojun <tanxiao...@huawei.com>
---
 drivers/edac/edac_mc_sysfs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c
index 33df7d9..292e806 100644
--- a/drivers/edac/edac_mc_sysfs.c
+++ b/drivers/edac/edac_mc_sysfs.c
@@ -956,7 +956,7 @@ static int edac_create_debug_nodes(struct mem_ctl_info *mci)
        mci->debugfs = parent;
        return 0;
 nomem:
-       debugfs_remove(mci->debugfs);
+       debugfs_remove_recursive(mci->debugfs);
        return -ENOMEM;
 }
 #endif
@@ -1070,7 +1070,7 @@ void edac_remove_sysfs_mci_device(struct mem_ctl_info 
*mci)
        edac_dbg(0, "\n");
 
 #ifdef CONFIG_EDAC_DEBUG
-       debugfs_remove(mci->debugfs);
+       debugfs_remove_recursive(mci->debugfs);
 #endif
 #ifdef CONFIG_EDAC_LEGACY_SYSFS
        edac_delete_csrow_objects(mci);
-- 
2.5.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to