mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 22:14:04 +02:00
ASoC: sun8i-codec: fix crash on module removal
[ Upstream commit278df5e552] drvdata is actually sun8i_codec, not snd_soc_card, so it crashes when calling snd_soc_card_get_drvdata(). Drop card and scodec vars anyway since we don't need to disable/unprepare clocks - it's already done by calling runtime_suspend() Drop clk_disable_unprepare() calls for the same reason. Fixes:36c684936f("ASoC: Add sun8i digital audio codec") Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
b42ab52844
commit
411b321f0f
|
|
@ -589,16 +589,10 @@ static int sun8i_codec_probe(struct platform_device *pdev)
|
|||
|
||||
static int sun8i_codec_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct snd_soc_card *card = platform_get_drvdata(pdev);
|
||||
struct sun8i_codec *scodec = snd_soc_card_get_drvdata(card);
|
||||
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
if (!pm_runtime_status_suspended(&pdev->dev))
|
||||
sun8i_codec_runtime_suspend(&pdev->dev);
|
||||
|
||||
clk_disable_unprepare(scodec->clk_module);
|
||||
clk_disable_unprepare(scodec->clk_bus);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user