aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/cs553x_nand.c
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2006-05-14 01:20:46 +0100
committerDavid Woodhouse <dwmw2@infradead.org>2006-05-14 01:20:46 +0100
commit552d9205186428a1e2a49ed577bcbba9f777af37 (patch)
treed61e09abae0ad18a3beef281384e576d8a54c145 /drivers/mtd/nand/cs553x_nand.c
parentmtd: fix memory leaks in phram_setup (diff)
downloadlinux-dev-552d9205186428a1e2a49ed577bcbba9f777af37.tar.xz
linux-dev-552d9205186428a1e2a49ed577bcbba9f777af37.zip
[MTD] Fix module refcounting in NAND board drivers.
The _board_ driver needs to be mtd->owner, and it in turn pins the nand.ko module. Fix them all to actually do that, and fix nand.ko not to overwrite it -- and also to check that the caller sets it, if the caller is a module. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'drivers/mtd/nand/cs553x_nand.c')
-rw-r--r--drivers/mtd/nand/cs553x_nand.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/nand/cs553x_nand.c b/drivers/mtd/nand/cs553x_nand.c
index fba7be5cffe3..d5b05514bb8b 100644
--- a/drivers/mtd/nand/cs553x_nand.c
+++ b/drivers/mtd/nand/cs553x_nand.c
@@ -223,6 +223,7 @@ static int __init cs553x_init_one(int cs, int mmio, unsigned long adr)
/* Link the private data with the MTD structure */
new_mtd->priv = this;
+ new_mtd->owner = THIS_MODULE;
/* map physical address */
this->IO_ADDR_R = this->IO_ADDR_W = ioremap(adr, 4096);
@@ -255,7 +256,6 @@ static int __init cs553x_init_one(int cs, int mmio, unsigned long adr)
goto out_ior;
}
- new_mtd->owner = THIS_MODULE;
cs553x_mtd[cs] = new_mtd;
goto out;