lkml.org 
[lkml]   [2018]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.14 56/84] spi: sun6i: disable/unprepare clocks on remove
    Date
    From: Tobias Jordan <Tobias.Jordan@elektrobit.com>

    [ Upstream commit 2d9bbd02c54094ceffa555143b0d68cd06504d63 ]

    sun6i_spi_probe() uses sun6i_spi_runtime_resume() to prepare/enable
    clocks, so sun6i_spi_remove() should use sun6i_spi_runtime_suspend() to
    disable/unprepare them if we're not suspended.
    Replacing pm_runtime_disable() by pm_runtime_force_suspend() will ensure
    that sun6i_spi_runtime_suspend() is called if needed.

    Found by Linux Driver Verification project (linuxtesting.org).

    Fixes: 3558fe900e8af (spi: sunxi: Add Allwinner A31 SPI controller driver)
    Signed-off-by: Tobias Jordan <Tobias.Jordan@elektrobit.com>
    Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    drivers/spi/spi-sun6i.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/spi/spi-sun6i.c b/drivers/spi/spi-sun6i.c
    index fb38234249a8..8533f4edd00a 100644
    --- a/drivers/spi/spi-sun6i.c
    +++ b/drivers/spi/spi-sun6i.c
    @@ -541,7 +541,7 @@ err_free_master:

    static int sun6i_spi_remove(struct platform_device *pdev)
    {
    - pm_runtime_disable(&pdev->dev);
    + pm_runtime_force_suspend(&pdev->dev);

    return 0;
    }
    --
    2.14.1
    \
     
     \ /
      Last update: 2018-03-04 01:17    [W:3.857 / U:0.364 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site