forked from Minki/linux
ASoC: tegra30: i2s: Correct driver removal order
Tegra30 I2S driver has a wrong driver removal order, which should be opposite to the registration order, but it's not. In particular the runtime PM is disabled in a wrong order. Fix the order. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Link: https://lore.kernel.org/r/20210314154459.15375-13-digetx@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
80ec4a4cb3
commit
f852e1e4ac
@ -544,10 +544,6 @@ static int tegra30_i2s_platform_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct tegra30_i2s *i2s = dev_get_drvdata(&pdev->dev);
|
||||
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
if (!pm_runtime_status_suspended(&pdev->dev))
|
||||
tegra30_i2s_runtime_suspend(&pdev->dev);
|
||||
|
||||
tegra_pcm_platform_unregister(&pdev->dev);
|
||||
snd_soc_unregister_component(&pdev->dev);
|
||||
|
||||
@ -557,6 +553,10 @@ static int tegra30_i2s_platform_remove(struct platform_device *pdev)
|
||||
tegra30_ahub_unset_rx_cif_source(i2s->playback_i2s_cif);
|
||||
tegra30_ahub_free_tx_fifo(i2s->playback_fifo_cif);
|
||||
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
if (!pm_runtime_status_suspended(&pdev->dev))
|
||||
tegra30_i2s_runtime_suspend(&pdev->dev);
|
||||
|
||||
clk_put(i2s->clk_i2s);
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user