spi: atmel-quadspi: Don't leak clk enable count in pm resume

[ Upstream commit c18bbac353 ]

The pm resume call is supposed to enable two clocks. If the second enable
fails the callback reports failure but doesn't undo the first enable.

So call clk_disable() for the first clock when clk_enable() for the second
one fails.

Fixes: 4a2f83b7f7 ("spi: atmel-quadspi: add runtime pm support")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Link: https://lore.kernel.org/r/20230317084232.142257-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Uwe Kleine-König 2023-03-17 09:42:30 +01:00 committed by Greg Kroah-Hartman
parent 3eb8bebd02
commit d748e32026
1 changed files with 5 additions and 1 deletions

View File

@ -752,7 +752,11 @@ static int __maybe_unused atmel_qspi_runtime_resume(struct device *dev)
if (ret)
return ret;
return clk_enable(aq->qspick);
ret = clk_enable(aq->qspick);
if (ret)
clk_disable(aq->pclk);
return ret;
}
static const struct dev_pm_ops __maybe_unused atmel_qspi_pm_ops = {