[alsa-devel] [PATCH] ASoC: Fix DAPM sequence run for per-widget I/O methods

Liam Girdwood lrg at ti.com
Mon Jun 20 07:33:53 CEST 2011


On 19/06/11 13:49, Mark Brown wrote:
> Previously we were using the DAPM context rather than a widget as the
> argument for update_bits() so we didn't need to care that our list walk
> of widgets left us one beyond the end of the list. Now we're using them
> for the register update we need to make sure we're pointing at an actual
> widget not the list_head.
> 
> Fix originally suggested by Liam on IM.
> 

Thanks, was planning to send this yesterday but ended up being delayed at several airports yesterday.

> Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
> ---
>  sound/soc/soc-dapm.c |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
> index 605c225..ceb2ba4 100644
> --- a/sound/soc/soc-dapm.c
> +++ b/sound/soc/soc-dapm.c
> @@ -918,6 +918,12 @@ static void dapm_seq_run_coalesced(struct snd_soc_dapm_context *dapm,
>  	}
>  
>  	if (reg >= 0) {
> +		/* Any widget will do, they should all be updating the
> +		 * same register.
> +		 */
> +		w = list_first_entry(pending, struct snd_soc_dapm_widget,
> +				     power_list);
> +
>  		pop_dbg(dapm->dev, card->pop_time,
>  			"pop test : Applying 0x%x/0x%x to %x in %dms\n",
>  			value, mask, reg, card->pop_time);

Acked-by: Liam Girdwood <lrg at ti.com>


More information about the Alsa-devel mailing list