]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
spi: rpc-if: Use correct device for hardware reinitialization on resume
authorQuang Nguyen <quang.nguyen.wx@renesas.com>
Thu, 18 Jun 2026 08:19:30 +0000 (09:19 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 18 Jun 2026 18:20:56 +0000 (19:20 +0100)
rpcif_spi_resume() currently passes the SPI controller device to
rpcif_hw_init(), but the function should be called with the RPC
interface device.

Retrieve the rpcif private data from the SPI controller and pass
rpc->dev instead. Also propagate the return value of rpcif_hw_init() so
that a failure during resume is properly reported rather than silently
ignored.

Fixes: ad4728740bd6 ("spi: rpc-if: Add resume support for RZ/G3E")
Signed-off-by: Quang Nguyen <quang.nguyen.wx@renesas.com>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260618081932.172168-1-biju.das.jz@bp.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-rpc-if.c

index 1ef7bd91b3b37245ef2117132f98bfa6eba6d4f0..b63c7856e75855182245000416319c301d9584f8 100644 (file)
@@ -206,8 +206,12 @@ static int rpcif_spi_suspend(struct device *dev)
 static int rpcif_spi_resume(struct device *dev)
 {
        struct spi_controller *ctlr = dev_get_drvdata(dev);
+       struct rpcif *rpc = spi_controller_get_devdata(ctlr);
+       int ret;
 
-       rpcif_hw_init(dev, false);
+       ret = rpcif_hw_init(rpc->dev, false);
+       if (ret)
+               return ret;
 
        return spi_controller_resume(ctlr);
 }