Re: [PATCH v2 5/7] memory: renesas-rpc-if: Return error in case devm_ioremap_resource() fails
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2021-10-27 07:21:42
Also in:
linux-renesas-soc, linux-spi, lkml
On Wed, Oct 27, 2021 at 9:17 AM Geert Uytterhoeven [off-list ref] wrote:
On Mon, Oct 25, 2021 at 10:57 PM Lad Prabhakar [off-list ref] wrote:quoted
Make sure we return error in case devm_ioremap_resource() fails for dirmap resource. Fixes: ca7d8b980b67 ("memory: add Renesas RPC-IF driver") Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>Thanks for your patch!quoted
--- a/drivers/memory/renesas-rpc-if.c +++ b/drivers/memory/renesas-rpc-if.c@@ -243,7 +243,7 @@ int rpcif_sw_init(struct rpcif *rpc, struct device *dev) res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dirmap"); rpc->dirmap = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(rpc->dirmap)) - rpc->dirmap = NULL; + return PTR_ERR(rpc->dirmap);IIRC, it was intentional to make the dirmap optional (because the device can be used without and/or because some variants on other SoCs lack it?). Unfortunately this is not reflected in the DT bindings (yet?). All code using the dirmap does check if rpc->dirmap is valid first.quoted
rpc->size = resource_size(res);
Of course this will crash if the dirmap is not present, so for now it's better to just bail out. Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
quoted
rpc->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL);
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds