diff options
author | Jinjie Ruan <ruanjinjie@huawei.com> | 2024-09-23 06:00:14 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-09-30 22:55:00 +0200 |
commit | 67d4a70faa662df07451e83db1546d3ca0695e08 (patch) | |
tree | 57676a346b1d7668fcdd081c730225e1c973326a /drivers/spi/spi-cadence.c | |
parent | spi: spi-imx: Fix pm_runtime_set_suspended() with runtime pm enabled (diff) | |
download | linux-67d4a70faa662df07451e83db1546d3ca0695e08.tar.xz linux-67d4a70faa662df07451e83db1546d3ca0695e08.zip |
spi: spi-cadence: Fix pm_runtime_set_suspended() with runtime pm enabled
It is not valid to call pm_runtime_set_suspended() for devices
with runtime PM enabled because it returns -EAGAIN if it is enabled
already and working. So, call pm_runtime_disable() before to fix it.
Fixes: d36ccd9f7ea4 ("spi: cadence: Runtime pm adaptation")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Link: https://patch.msgid.link/20240923040015.3009329-3-ruanjinjie@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi/spi-cadence.c')
-rw-r--r-- | drivers/spi/spi-cadence.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/spi/spi-cadence.c b/drivers/spi/spi-cadence.c index e07e081de5ea..087e748d9cc9 100644 --- a/drivers/spi/spi-cadence.c +++ b/drivers/spi/spi-cadence.c @@ -678,8 +678,8 @@ static int cdns_spi_probe(struct platform_device *pdev) clk_dis_all: if (!spi_controller_is_target(ctlr)) { - pm_runtime_set_suspended(&pdev->dev); pm_runtime_disable(&pdev->dev); + pm_runtime_set_suspended(&pdev->dev); } remove_ctlr: spi_controller_put(ctlr); @@ -701,8 +701,8 @@ static void cdns_spi_remove(struct platform_device *pdev) cdns_spi_write(xspi, CDNS_SPI_ER, CDNS_SPI_ER_DISABLE); - pm_runtime_set_suspended(&pdev->dev); pm_runtime_disable(&pdev->dev); + pm_runtime_set_suspended(&pdev->dev); spi_unregister_controller(ctlr); } |