summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/tegra/tegra_max98088.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/soc/tegra/tegra_max98088.c b/sound/soc/tegra/tegra_max98088.c
index 9d1c8d51a0a8..7748d0e071cb 100644
--- a/sound/soc/tegra/tegra_max98088.c
+++ b/sound/soc/tegra/tegra_max98088.c
@@ -1046,8 +1046,6 @@ static int tegra30_soc_set_bias_level(struct snd_soc_card *card,
level != SND_SOC_BIAS_OFF)
tegra_asoc_utils_clk_enable(&machine->util_data);
- machine->bias_level = level;
-
return 0;
}
@@ -1056,9 +1054,12 @@ static int tegra30_soc_set_bias_level_post(struct snd_soc_card *card,
{
struct tegra_max98088 *machine = snd_soc_card_get_drvdata(card);
- if (level == SND_SOC_BIAS_OFF)
+ if (machine->bias_level != SND_SOC_BIAS_OFF &&
+ level == SND_SOC_BIAS_OFF)
tegra_asoc_utils_clk_disable(&machine->util_data);
+ machine->bias_level = level;
+
return 0 ;
}