]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mtd: rawnand: brcmnand: propagate init error -EPROBE_DEFER up
authorRafał Miłecki <rafal@milecki.pl>
Wed, 19 Jul 2023 08:43:24 +0000 (10:43 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 27 Jul 2023 15:02:01 +0000 (17:02 +0200)
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 <rafal@milecki.pl>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Acked-by: William Zhang <william.zhang@broadcom.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20230719084324.14799-1-zajec5@gmail.com
drivers/mtd/nand/raw/brcmnand/brcmnand.c

index 39661e23d7d4fecccea9aa5bc9b69b11938e0398..03764b589ec5db62aa790af6131515302ca02392 100644 (file)
@@ -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 */
                        }