Skip to content

Commit

Permalink
spi: qup: add missing clk_disable_unprepare on error in spi_qup_resume()
Browse files Browse the repository at this point in the history
[ Upstream commit 7003432 ]

Add the missing clk_disable_unprepare() before return
from spi_qup_resume() in the error handling case.

Fixes: 64ff247 (“spi: Add Qualcomm QUP SPI controller support”)
Signed-off-by: Xu Qiang <xuqiang36@huawei.com>
Link: https://lore.kernel.org/r/20220825065324.68446-1-xuqiang36@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
Xu Qiang authored and gregkh committed Oct 21, 2022
1 parent 652b2ef commit 0a11819
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions drivers/spi/spi-qup.c
Original file line number Diff line number Diff line change
Expand Up @@ -1245,14 +1245,25 @@ static int spi_qup_resume(struct device *device)
return ret;

ret = clk_prepare_enable(controller->cclk);
if (ret)
if (ret) {
clk_disable_unprepare(controller->iclk);
return ret;
}

ret = spi_qup_set_state(controller, QUP_STATE_RESET);
if (ret)
return ret;
goto disable_clk;

ret = spi_master_resume(master);
if (ret)
goto disable_clk;

return spi_master_resume(master);
return 0;

disable_clk:
clk_disable_unprepare(controller->cclk);
clk_disable_unprepare(controller->iclk);
return ret;
}
#endif /* CONFIG_PM_SLEEP */

Expand Down

0 comments on commit 0a11819

Please sign in to comment.