Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

spi: imx: fix the unbalanced spi runtime pm management

If set active without increase the usage count of pm, the dont use
autosuspend function will call the suspend callback to close the two
clocks of spi because the usage count is reduced to -1.
This will cause the warning dump below when the defer-probe occurs.

[ 129.379701] ecspi2_root_clk already disabled
[ 129.384005] WARNING: CPU: 1 PID: 33 at drivers/clk/clk.c:952 clk_core_disable+0xa4/0xb0

So add the get noresume function before set active.

Fixes: 43b6bf406cd0 spi: imx: fix runtime pm support for !CONFIG_PM
Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
Link: https://lore.kernel.org/r/20201124085247.18025-1-xiaoning.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Clark Wang and committed by
Mark Brown
7cd71202 71d80563

+1
+1
drivers/spi/spi-imx.c
··· 1686 1686 1687 1687 pm_runtime_set_autosuspend_delay(spi_imx->dev, MXC_RPM_TIMEOUT); 1688 1688 pm_runtime_use_autosuspend(spi_imx->dev); 1689 + pm_runtime_get_noresume(spi_imx->dev); 1689 1690 pm_runtime_set_active(spi_imx->dev); 1690 1691 pm_runtime_enable(spi_imx->dev); 1691 1692