| From 7331ea474e9e7a348541c207bdb6aa518c6403f4 Mon Sep 17 00:00:00 2001 |
| From: Lars-Peter Clausen <lars@metafoo.de> |
| Date: Thu, 15 Jan 2015 12:52:01 +0100 |
| Subject: ASoC: mioa701_wm9713: Fix speaker event |
| |
| From: Lars-Peter Clausen <lars@metafoo.de> |
| |
| commit 7331ea474e9e7a348541c207bdb6aa518c6403f4 upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/soc/pxa/mioa701_wm9713.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/sound/soc/pxa/mioa701_wm9713.c |
| +++ b/sound/soc/pxa/mioa701_wm9713.c |
| @@ -81,7 +81,7 @@ static int rear_amp_power(struct snd_soc |
| static int rear_amp_event(struct snd_soc_dapm_widget *widget, |
| 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)); |
| } |