On 2024/9/6 11:15, Dmitry Baryshkov wrote: > On Fri, Sep 06, 2024 at 11:13:45AM GMT, Jinjie Ruan wrote: >> It's important to undo pm_runtime_use_autosuspend() with >> pm_runtime_dont_use_autosuspend() at driver exit time unless driver >> initially enabled pm_runtime with devm_pm_runtime_enable() >> (which handles it for you). >> >> Hence, call pm_runtime_dont_use_autosuspend() at driver exit time >> to fix it. >> >> Fixes: cfdab2cd85ec ("spi: spi-geni-qcom: Set an autosuspend delay of 250 ms") >> --- >> v2: >> - Fix it directly instead of use devm_pm_runtime_enable(). > > Why? The devm* sequence will have some problem, which will not consistent with the former. Link: https://lore.kernel.org/all/CAD=FV=VyDk-e2KNiuiBcACFAdrQmihOH6X6BSpGB+T1MsgsiKw@xxxxxxxxxxxxxx/ > >> --- >> drivers/spi/spi-geni-qcom.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c >> index fc2819effe2d..38857edbc785 100644 >> --- a/drivers/spi/spi-geni-qcom.c >> +++ b/drivers/spi/spi-geni-qcom.c >> @@ -1158,6 +1158,7 @@ static int spi_geni_probe(struct platform_device *pdev) >> spi_geni_release_dma: >> spi_geni_release_dma_chan(mas); >> spi_geni_probe_runtime_disable: >> + pm_runtime_dont_use_autosuspend(dev); >> pm_runtime_disable(dev); >> return ret; >> } >> @@ -1174,6 +1175,7 @@ static void spi_geni_remove(struct platform_device *pdev) >> >> spi_geni_release_dma_chan(mas); >> >> + pm_runtime_dont_use_autosuspend(&pdev->dev); >> pm_runtime_disable(&pdev->dev); >> } >> >> -- >> 2.34.1 >> >