Commit cf363518 authored by Julia Lawall's avatar Julia Lawall Committed by David Woodhouse

mtd: mpc5121_nfc: fix memory leak on error path

Add a call to of_node_put in the error handling code following a call to
of_find_compatible_node.
Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
Acked-by: default avatarWolfram Sang <w.sang@pengutronix.de>
Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 9d8b1043
...@@ -568,6 +568,7 @@ static int mpc5121_nfc_read_hw_config(struct mtd_info *mtd) ...@@ -568,6 +568,7 @@ static int mpc5121_nfc_read_hw_config(struct mtd_info *mtd)
uint rcw_width; uint rcw_width;
uint rcwh; uint rcwh;
uint romloc, ps; uint romloc, ps;
int ret = 0;
rmnode = of_find_compatible_node(NULL, NULL, "fsl,mpc5121-reset"); rmnode = of_find_compatible_node(NULL, NULL, "fsl,mpc5121-reset");
if (!rmnode) { if (!rmnode) {
...@@ -579,7 +580,8 @@ static int mpc5121_nfc_read_hw_config(struct mtd_info *mtd) ...@@ -579,7 +580,8 @@ static int mpc5121_nfc_read_hw_config(struct mtd_info *mtd)
rm = of_iomap(rmnode, 0); rm = of_iomap(rmnode, 0);
if (!rm) { if (!rm) {
dev_err(prv->dev, "Error mapping reset module node!\n"); dev_err(prv->dev, "Error mapping reset module node!\n");
return -EBUSY; ret = -EBUSY;
goto out;
} }
rcwh = in_be32(&rm->rcwhr); rcwh = in_be32(&rm->rcwhr);
...@@ -628,8 +630,9 @@ static int mpc5121_nfc_read_hw_config(struct mtd_info *mtd) ...@@ -628,8 +630,9 @@ static int mpc5121_nfc_read_hw_config(struct mtd_info *mtd)
rcw_width * 8, rcw_pagesize, rcw_width * 8, rcw_pagesize,
rcw_sparesize); rcw_sparesize);
iounmap(rm); iounmap(rm);
out:
of_node_put(rmnode); of_node_put(rmnode);
return 0; return ret;
} }
/* Free driver resources */ /* Free driver resources */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment