All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH AUTOSEL 4.4 1/7] spi: qup: call spi_qup_pm_resume_runtime before suspending
@ 2020-03-16  2:35 Sasha Levin
  2020-03-16  2:35   ` Sasha Levin
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Sasha Levin @ 2020-03-16  2:35 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Yuji Sasaki, Vinod Koul, Mark Brown, Sasha Levin, linux-arm-msm,
	linux-spi

From: Yuji Sasaki <sasakiy@chromium.org>

[ Upstream commit 136b5cd2e2f97581ae560cff0db2a3b5369112da ]

spi_qup_suspend() will cause synchronous external abort when
runtime suspend is enabled and applied, as it tries to
access SPI controller register while clock is already disabled
in spi_qup_pm_suspend_runtime().

Signed-off-by: Yuji sasaki <sasakiy@chromium.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20200214074340.2286170-1-vkoul@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/spi/spi-qup.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
index 810a7fae34798..2487a91c4cfdb 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
@@ -961,6 +961,11 @@ static int spi_qup_suspend(struct device *device)
 	struct spi_qup *controller = spi_master_get_devdata(master);
 	int ret;
 
+	if (pm_runtime_suspended(device)) {
+		ret = spi_qup_pm_resume_runtime(device);
+		if (ret)
+			return ret;
+	}
 	ret = spi_master_suspend(master);
 	if (ret)
 		return ret;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2020-03-16  2:52 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-16  2:35 [PATCH AUTOSEL 4.4 1/7] spi: qup: call spi_qup_pm_resume_runtime before suspending Sasha Levin
2020-03-16  2:35 ` [PATCH AUTOSEL 4.4 2/7] powerpc: Include .BTF section Sasha Levin
2020-03-16  2:35   ` Sasha Levin
2020-03-16  2:35 ` [PATCH AUTOSEL 4.4 3/7] ARM: dts: dra7: Add "dma-ranges" property to PCIe RC DT nodes Sasha Levin
2020-03-16  2:35 ` [PATCH AUTOSEL 4.4 4/7] spi/zynqmp: remove entry that causes a cs glitch Sasha Levin
2020-03-16  2:35   ` Sasha Levin
2020-03-16  2:35 ` [PATCH AUTOSEL 4.4 5/7] drm/exynos: dsi: propagate error value and silence meaningless warning Sasha Levin
2020-03-16  2:35   ` Sasha Levin
2020-03-16  2:35   ` Sasha Levin
2020-03-16  2:35 ` [PATCH AUTOSEL 4.4 6/7] drm/exynos: dsi: fix workaround for the legacy clock name Sasha Levin
2020-03-16  2:35   ` Sasha Levin
2020-03-16  2:35   ` Sasha Levin
2020-03-16  2:35 ` [PATCH AUTOSEL 4.4 7/7] altera-stapl: altera_get_note: prevent write beyond end of 'key' Sasha Levin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.