]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
spi: spi-cadence: Fix missing spi_controller_is_target() check
authorJinjie Ruan <ruanjinjie@huawei.com>
Mon, 23 Sep 2024 04:00:15 +0000 (12:00 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Oct 2024 10:00:41 +0000 (12:00 +0200)
[ Upstream commit 3eae4a916fc0eb6f85b5d399e10335dbd24dd765 ]

The spi_controller_is_target() check is missing for pm_runtime_disable()
in cdns_spi_remove(), add it.

Fixes: b1b90514eaa3 ("spi: spi-cadence: Add support for Slave mode")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Link: https://patch.msgid.link/20240923040015.3009329-4-ruanjinjie@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/spi/spi-cadence.c

index 316da99f798c872fb2a86f6c0704de4bb26b7a70..81edf0a3ddf843994da3b3a9d1c88df5954f3c34 100644 (file)
@@ -688,8 +688,10 @@ static void cdns_spi_remove(struct platform_device *pdev)
 
        cdns_spi_write(xspi, CDNS_SPI_ER, CDNS_SPI_ER_DISABLE);
 
-       pm_runtime_disable(&pdev->dev);
-       pm_runtime_set_suspended(&pdev->dev);
+       if (!spi_controller_is_target(ctlr)) {
+               pm_runtime_disable(&pdev->dev);
+               pm_runtime_set_suspended(&pdev->dev);
+       }
 
        spi_unregister_controller(ctlr);
 }