Unverified Commit 278df5e5 authored by Vasily Khoruzhick's avatar Vasily Khoruzhick Committed by Mark Brown
Browse files

ASoC: sun8i-codec: fix crash on module removal



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: 36c68493 ("ASoC: Add sun8i digital audio codec")
Signed-off-by: default avatarVasily Khoruzhick <anarsoul@gmail.com>
Acked-by: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent e14856f6
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -605,16 +605,10 @@ err_pm_disable:

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;
}