If the function is called with no NAND device attached, then this
function can return error value, proceeding further ignoring the same
can cause system crash. This is seen when "mtd list" is run with no NAND
addon cards connected.

Signed-off-by: Vignesh Raghavendra <vigne...@ti.com>
---
 drivers/mtd/nand/raw/omap_gpmc.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/raw/omap_gpmc.c b/drivers/mtd/nand/raw/omap_gpmc.c
index 92a92ad63a02..a36e2a148ccc 100644
--- a/drivers/mtd/nand/raw/omap_gpmc.c
+++ b/drivers/mtd/nand/raw/omap_gpmc.c
@@ -1188,7 +1188,10 @@ static int gpmc_nand_probe(struct udevice *dev)
                return ret;
 
        base = devm_ioremap(dev, res.start, resource_size(&res));
-       gpmc_nand_init(nand, base);
+       ret = gpmc_nand_init(nand, base);
+       if (ret)
+               return ret;
+
        mtd->dev = dev;
        nand_set_flash_node(nand, dev_ofnode(dev));
 
-- 
2.45.2

Reply via email to