|
@@ -1952,7 +1952,7 @@ static int dapm_power_widgets(struct snd_soc_card *card, int event)
|
|
dapm_pre_sequence_async(&card->dapm, 0);
|
|
dapm_pre_sequence_async(&card->dapm, 0);
|
|
/* Run other bias changes in parallel */
|
|
/* Run other bias changes in parallel */
|
|
list_for_each_entry(d, &card->dapm_list, list) {
|
|
list_for_each_entry(d, &card->dapm_list, list) {
|
|
- if (d != &card->dapm)
|
|
|
|
|
|
+ if (d != &card->dapm && d->bias_level != d->target_bias_level)
|
|
async_schedule_domain(dapm_pre_sequence_async, d,
|
|
async_schedule_domain(dapm_pre_sequence_async, d,
|
|
&async_domain);
|
|
&async_domain);
|
|
}
|
|
}
|
|
@@ -1976,7 +1976,7 @@ static int dapm_power_widgets(struct snd_soc_card *card, int event)
|
|
|
|
|
|
/* Run all the bias changes in parallel */
|
|
/* Run all the bias changes in parallel */
|
|
list_for_each_entry(d, &card->dapm_list, list) {
|
|
list_for_each_entry(d, &card->dapm_list, list) {
|
|
- if (d != &card->dapm)
|
|
|
|
|
|
+ if (d != &card->dapm && d->bias_level != d->target_bias_level)
|
|
async_schedule_domain(dapm_post_sequence_async, d,
|
|
async_schedule_domain(dapm_post_sequence_async, d,
|
|
&async_domain);
|
|
&async_domain);
|
|
}
|
|
}
|