• Marek Szyprowski's avatar
    spi: spi-s3c64xx: Fix system resume support · e935dba1
    Marek Szyprowski authored
    Since Linux v4.10 release (commit 1d9174fb "PM / Runtime: Defer
    resuming of the device in pm_runtime_force_resume()"),
    pm_runtime_force_resume() function doesn't runtime resume device if it was
    not runtime active before system suspend. Thus, driver should not do any
    register access after pm_runtime_force_resume() without checking the
    runtime status of the device. To fix this issue, simply move
    s3c64xx_spi_hwinit() call to s3c64xx_spi_runtime_resume() to ensure that
    hardware is always properly initialized. This fixes Synchronous external
    abort issue on system suspend/resume cycle on newer Exynos SoCs.
    Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
    Reviewed-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    e935dba1
spi-s3c64xx.c 38 KB