diff --git a/drivers/spi/spi-msm-geni.c b/drivers/spi/spi-msm-geni.c index 5f350c02fc8a..954144323254 100644 --- a/drivers/spi/spi-msm-geni.c +++ b/drivers/spi/spi-msm-geni.c @@ -1106,7 +1106,8 @@ static int spi_geni_unprepare_message(struct spi_master *spi_mas, GENI_SE_ERR(mas->ipc, false, NULL, "suspend usage count mismatch:%d", count); - } else if (!pm_runtime_suspended(mas->dev)) { + } else if (!pm_runtime_status_suspended(mas->dev) && + pm_runtime_enabled(mas->dev)) { pm_runtime_mark_last_busy(mas->dev); pm_runtime_put_autosuspend(mas->dev); } @@ -1421,7 +1422,8 @@ static int spi_geni_unprepare_transfer_hardware(struct spi_master *spi) if (count < 0) GENI_SE_ERR(mas->ipc, false, NULL, "suspend usage count mismatch:%d", count); - } else { + } else if (!pm_runtime_status_suspended(mas->dev) && + pm_runtime_enabled(mas->dev)) { pm_runtime_mark_last_busy(mas->dev); pm_runtime_put_autosuspend(mas->dev); }