diff --git a/sound/soc/codecs/tas2770.c b/sound/soc/codecs/tas2770.c index 373f5d46899a..e03ae963c694 100644 --- a/sound/soc/codecs/tas2770.c +++ b/sound/soc/codecs/tas2770.c @@ -90,13 +90,17 @@ static int tas2770_codec_resume(struct snd_soc_component *component) struct tas2770_priv *tas2770 = snd_soc_component_get_drvdata(component); int ret; - ret = tas2770_update_pwr_ctrl(tas2770); + ret = regcache_sync(tas2770->regmap); if (ret < 0) return ret; - regcache_cache_only(tas2770->regmap, false); + regcache_cache_only(tas2770->false); + + ret = tas2770_update_pwr_ctrl(tas2770); + if (ret < 0) + return ret; - return regcache_sync(tas2770->regmap); + return 0; } #else #define tas2770_codec_suspend NULL