mtd: rawnand: nandsim: Keep track of the created debugfs entries
authorMiquel Raynal <miquel.raynal@bootlin.com>
Mon, 25 May 2020 08:58:39 +0000 (10:58 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Sun, 31 May 2020 08:53:37 +0000 (10:53 +0200)
Debugfs entries should be removed in the error path, so first, keep
track of them.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20200525085851.17682-6-miquel.raynal@bootlin.com
drivers/mtd/nand/raw/nandsim.c

index 5b427a5..c8e9c70 100644 (file)
@@ -353,6 +353,9 @@ struct nandsim {
        void *file_buf;
        struct page *held_pages[NS_MAX_HELD_PAGES];
        int held_cnt;
+
+       /* debugfs entry */
+       struct dentry *dent;
 };
 
 /*
@@ -495,7 +498,6 @@ DEFINE_SHOW_ATTRIBUTE(ns);
 static int ns_debugfs_create(struct nandsim *ns)
 {
        struct dentry *root = nsmtd->dbg.dfs_dir;
-       struct dentry *dent;
 
        /*
         * Just skip debugfs initialization when the debugfs directory is
@@ -508,9 +510,9 @@ static int ns_debugfs_create(struct nandsim *ns)
                return 0;
        }
 
-       dent = debugfs_create_file("nandsim_wear_report", 0400, root, ns,
-                                  &ns_fops);
-       if (IS_ERR_OR_NULL(dent)) {
+       ns->dent = debugfs_create_file("nandsim_wear_report", 0400, root, ns,
+                                      &ns_fops);
+       if (IS_ERR_OR_NULL(ns->dent)) {
                NS_ERR("cannot create \"nandsim_wear_report\" debugfs entry\n");
                return -1;
        }