diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2025-07-30 21:47:46 +0200 |
---|---|---|
committer | Miquel Raynal <miquel.raynal@bootlin.com> | 2025-08-28 14:23:05 +0200 |
commit | 1eae113dd5ff5192cfd3e11b6ab7b96193b42c01 (patch) | |
tree | 80e50d25d4e9964227fca9b78ddbda4c2d2c1752 | |
parent | f544bf03a771ee746b908e9a08ecb97c65a35055 (diff) |
mtd: rawnand: nuvoton: Fix an error handling path in ma35_nand_chips_init()
If a ma35_nand_chip_init() call fails, then a reference to 'nand_np' still
needs to be released.
Use for_each_child_of_node_scoped() to fix the issue.
Fixes: 5abb5d414d55 ("mtd: rawnand: nuvoton: add new driver for the Nuvoton MA35 SoC")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
-rw-r--r-- | drivers/mtd/nand/raw/nuvoton-ma35d1-nand-controller.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mtd/nand/raw/nuvoton-ma35d1-nand-controller.c b/drivers/mtd/nand/raw/nuvoton-ma35d1-nand-controller.c index c23b537948d5..1a285cd8fad6 100644 --- a/drivers/mtd/nand/raw/nuvoton-ma35d1-nand-controller.c +++ b/drivers/mtd/nand/raw/nuvoton-ma35d1-nand-controller.c @@ -935,10 +935,10 @@ static void ma35_chips_cleanup(struct ma35_nand_info *nand) static int ma35_nand_chips_init(struct device *dev, struct ma35_nand_info *nand) { - struct device_node *np = dev->of_node, *nand_np; + struct device_node *np = dev->of_node; int ret; - for_each_child_of_node(np, nand_np) { + for_each_child_of_node_scoped(np, nand_np) { ret = ma35_nand_chip_init(dev, nand, nand_np); if (ret) { ma35_chips_cleanup(nand); |