diff --git a/sound/soc/codecs/tas2770.c b/sound/soc/codecs/tas2770.c index 373f5d46899a..a820fbde9657 100644 --- a/sound/soc/codecs/tas2770.c +++ b/sound/soc/codecs/tas2770.c @@ -72,9 +72,10 @@ static int tas2770_codec_suspend(struct snd_soc_component *component) struct tas2770_priv *tas2770 = snd_soc_component_get_drvdata(component); int ret = 0; - ret = snd_soc_component_update_bits(component, TAS2770_PWR_CTRL, - TAS2770_PWR_CTRL_MASK, - TAS2770_PWR_CTRL_SHUTDOWN); + tas2770->dac_powered = 0; + tas2770->unmuted = 0; + + ret = tas2770_update_pwr_ctrl(tas2770); if (ret < 0) return ret; @@ -90,6 +91,7 @@ static int tas2770_codec_resume(struct snd_soc_component *component) struct tas2770_priv *tas2770 = snd_soc_component_get_drvdata(component); int ret; + tas2770->dac_powered = 1; ret = tas2770_update_pwr_ctrl(tas2770); if (ret < 0) return ret;