diff --git a/asoc/codecs/wcd938x/wcd938x.c b/asoc/codecs/wcd938x/wcd938x.c index 737100a3e9..3281b223f5 100644 --- a/asoc/codecs/wcd938x/wcd938x.c +++ b/asoc/codecs/wcd938x/wcd938x.c @@ -4661,7 +4661,9 @@ static int wcd938x_suspend(struct device *dev) } clear_bit(ALLOW_BUCK_DISABLE, &wcd938x->status_mask); } - if (wcd938x->dapm_bias_off) { + if (wcd938x->dapm_bias_off || + (snd_soc_component_get_bias_level(wcd938x->component) == + SND_SOC_BIAS_OFF)) { msm_cdc_set_supplies_lpm_mode(wcd938x->dev, wcd938x->supplies, pdata->regulator, diff --git a/asoc/codecs/wsa884x/wsa884x.c b/asoc/codecs/wsa884x/wsa884x.c index 2234bdbf55..1d12c48b16 100644 --- a/asoc/codecs/wsa884x/wsa884x.c +++ b/asoc/codecs/wsa884x/wsa884x.c @@ -2396,7 +2396,9 @@ static int wsa884x_swr_suspend(struct device *dev) return -EINVAL; } dev_dbg(dev, "%s: system suspend\n", __func__); - if (wsa884x->dapm_bias_off) { + if (wsa884x->dapm_bias_off || + (snd_soc_component_get_bias_level(wsa884x->component) == + SND_SOC_BIAS_OFF)) { msm_cdc_set_supplies_lpm_mode(dev, wsa884x->supplies, wsa884x->regulator, wsa884x->num_supplies,