summaryrefslogtreecommitdiff
path: root/drivers/mtd/nand/fsl_upm.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2011-06-30 19:53:09 +0800
committerArtem Bityutskiy <artem.bityutskiy@intel.com>2011-09-11 15:02:14 +0300
commita751d3155dee38cb2a8e46d8cf3fa6998b2f3239 (patch)
treee06af51f16f00961aed6db0fe68c98908247d87b /drivers/mtd/nand/fsl_upm.c
parent201ab536ac205a2787f8eac2eedc697616f99e04 (diff)
downloadlinux-a751d3155dee38cb2a8e46d8cf3fa6998b2f3239.tar.gz
linux-a751d3155dee38cb2a8e46d8cf3fa6998b2f3239.tar.xz
mtd: fsl_upm: fix a memory leak in fun_chip_init error path
Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Artem Bityutskiy <dedekind1@gmail.com>
Diffstat (limited to 'drivers/mtd/nand/fsl_upm.c')
-rw-r--r--drivers/mtd/nand/fsl_upm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mtd/nand/fsl_upm.c b/drivers/mtd/nand/fsl_upm.c
index da92fed9f27b..b4f3cc9f32fb 100644
--- a/drivers/mtd/nand/fsl_upm.c
+++ b/drivers/mtd/nand/fsl_upm.c
@@ -196,6 +196,8 @@ static int __devinit fun_chip_init(struct fsl_upm_nand *fun,
ret = mtd_device_parse_register(&fun->mtd, NULL, &ppdata, NULL, 0);
err:
of_node_put(flash_np);
+ if (ret)
+ kfree(fun->mtd.name);
return ret;
}