mtd: rawnand: brcmnand: propagate init error -EPROBE_DEFER up
PATCH 1/1 mtd: rawnand: brcmnand: propagate init error -EPROBE_DEFER up
From: Rafał Miłecki <[email protected]>
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.
--- drivers/mtd/nand/raw/brcmnand/brcmnand.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/mtd/nand/raw/brcmnand/brcmnand.c +2 -0
@@ -3245,6 +3245,8 @@ int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) ret =brcmnand_init_cs (host,NULL );if (ret) { +if (ret == -EPROBE_DEFER ) + goto err;devm_kfree (dev, host);continue ;/* Try all chip-selects */ }
Signature · 6 lines
2.35.3 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/
Miquel Raynal
maintainerHi Rafał,
[email protected] wrote on Tue, 18 Jul 2023 18:33:31 +0200:
Quoted 15 lines
From: Rafał Miłecki <[email protected]>
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 <[email protected]>--- drivers/mtd/nand/raw/brcmnand/brcmnand.c | 2 ++ 1 file changed, 2 insertions(+)drivers/mtd/nand/raw/brcmnand/brcmnand.c +0
-0
drivers/mtd/nand/raw/brcmnand/brcmnand.c int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) · line 3249
Quoted 5 lines
drivers/mtd/nand/raw/brcmnand/brcmnand.c +2
-0@@ -3245,6 +3245,8 @@ int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) ret =brcmnand_init_cs (host,NULL );if (ret) { +if (ret == -EPROBE_DEFER ) + goto err;
Don't we need an of_node_put(child) here?
drivers/mtd/nand/raw/brcmnand/brcmnand.c int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) · line 3252
Quoted 3 lines
drivers/mtd/nand/raw/brcmnand/brcmnand.c +0
-0devm_kfree (dev, host);continue ;/* Try all chip-selects */ }
Thanks,
Miquèl
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
Quoted 21 lines · Miquel Raynal
Hi Rafał,
[email protected] wrote on Tue, 18 Jul 2023 18:33:31 +0200:
Quoted 17 lines
From: Rafał Miłecki <[email protected]>
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 <[email protected]>--- drivers/mtd/nand/raw/brcmnand/brcmnand.c | 2 ++ 1 file changed, 2 insertions(+)drivers/mtd/nand/raw/brcmnand/brcmnand.c +0
-0@@ -3245,6 +3245,8 @@ int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc)
Quoted 6 lines
drivers/mtd/nand/raw/brcmnand/brcmnand.c int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) · line 3249
Quoted 4 lines
drivers/mtd/nand/raw/brcmnand/brcmnand.c +2
-0ret =brcmnand_init_cs (host,NULL );if (ret) { +if (ret == -EPROBE_DEFER ) + goto err;Don't we need an
of_node_put(child)here?
Good catch!
Quoted 7 lines
Quoted 3 lines
drivers/mtd/nand/raw/brcmnand/brcmnand.c +0
-0devm_kfree (dev, host);continue ;/* Try all chip-selects */ }
Thanks,
Miquèl
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/