From: Rafał Miłecki Date: Wed, 19 Jul 2023 08:43:24 +0000 (+0200) Subject: mtd: rawnand: brcmnand: propagate init error -EPROBE_DEFER up X-Git-Tag: v6.6-rc1~75^2^2~37 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6680d8b67921fc732a59792dec6d3f94c031451c;p=thirdparty%2Fkernel%2Flinux.git mtd: rawnand: brcmnand: propagate init error -EPROBE_DEFER up MTD subsystem may return -EPROBE_DEFER if something isn't ready yet. It's important to pass that error up so device will get probed later. Signed-off-by: Rafał Miłecki Acked-by: Florian Fainelli Acked-by: William Zhang Signed-off-by: Miquel Raynal Link: https://lore.kernel.org/linux-mtd/20230719084324.14799-1-zajec5@gmail.com --- diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c index 39661e23d7d4f..03764b589ec5d 100644 --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c @@ -3245,6 +3245,10 @@ int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) ret = brcmnand_init_cs(host, NULL); if (ret) { + if (ret == -EPROBE_DEFER) { + of_node_put(child); + goto err; + } devm_kfree(dev, host); continue; /* Try all chip-selects */ }