]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - sound/soc/soc-dapm.c
ASoC: Don't force bias on ground referenced devices
[karo-tx-linux.git] / sound / soc / soc-dapm.c
index 6cac04595ccd22347c288f1d8de516153a36680d..2bde6b0c038b3529faafd46a0857f0b185b22c5c 100644 (file)
@@ -1319,13 +1319,16 @@ static int dapm_power_widgets(struct snd_soc_dapm_context *dapm, int event)
                }
        }
 
-       /* Force all contexts in the card to the same bias state */
+       /* Force all contexts in the card to the same bias state if
+        * they're not ground referenced.
+        */
        bias = SND_SOC_BIAS_OFF;
        list_for_each_entry(d, &card->dapm_list, list)
                if (d->target_bias_level > bias)
                        bias = d->target_bias_level;
        list_for_each_entry(d, &card->dapm_list, list)
-               d->target_bias_level = bias;
+               if (!d->idle_bias_off)
+                       d->target_bias_level = bias;
 
        trace_snd_soc_dapm_walk_done(card);