Browse Source

ASoC: mioa701_wm9713: Fix speaker event

Commit f6b2a04590bb ("ASoC: pxa: mioa701_wm9713: Convert to table based DAPM
setup") converted the driver to register the board level DAPM elements with
the card's DAPM context rather than the CODEC's DAPM context. The change
overlooked that the speaker widget event callback accesses the widget's
codec field which is only valid if the widget has been registered in a CODEC
DAPM context. This patch modifies the callback to take an alternative route
to get the CODEC.

Fixes: f6b2a04590bb ("ASoC: pxa: mioa701_wm9713: Convert to table based DAPM
setup")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Lars-Peter Clausen 10 years ago
parent
commit
7331ea474e
1 changed files with 1 additions and 1 deletions
  1. 1 1
      sound/soc/pxa/mioa701_wm9713.c

+ 1 - 1
sound/soc/pxa/mioa701_wm9713.c

@@ -81,7 +81,7 @@ static int rear_amp_power(struct snd_soc_codec *codec, int power)
 static int rear_amp_event(struct snd_soc_dapm_widget *widget,
 static int rear_amp_event(struct snd_soc_dapm_widget *widget,
 			  struct snd_kcontrol *kctl, int event)
 			  struct snd_kcontrol *kctl, int event)
 {
 {
-	struct snd_soc_codec *codec = widget->codec;
+	struct snd_soc_codec *codec = widget->dapm->card->rtd[0].codec;
 
 
 	return rear_amp_power(codec, SND_SOC_DAPM_EVENT_ON(event));
 	return rear_amp_power(codec, SND_SOC_DAPM_EVENT_ON(event));
 }
 }