FAILED: patch "[PATCH] ASoC: wm_adsp: Fix enum ctl accesses in a wrong type" failed to apply to 4.4-stable tree
Subsystems (4)
[email protected]
maintainerThe patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
15c665700bf6f4543f003ac0fbb1e9ec692e93f2Mon Sep 17 00:00:00 2001
From: Takashi Iwai <[email protected]>
Date: Mon, 29 Feb 2016 18:01:18 +0100
Subject: [PATCH] ASoC: wm_adsp: Fix enum ctl accesses in a wrong type
The firmware ctls like "DSP1 Firmware" in wm_adsp codec driver are enum, while the current driver accesses wrongly via value.integer.value[]. They have to be via value.enumerated.item[] instead.
Signed-off-by Takashi Iwai <[email protected]>
Signed-off-by Mark Brown <[email protected]>
sound/soc/codecs/wm_adsp.c +4 -4
@@ -586,7 +586,7 @@ static int wm_adsp_fw_get(struct snd_kcontrol *kcontrol,struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;struct wm_adsp *dsp =snd_soc_codec_get_drvdata (codec); - ucontrol->value.integer.value[0 ] = dsp[e->shift_l].fw; + ucontrol->value.enumerated.item[0 ] = dsp[e->shift_l].fw;return 0 ; }
@@ -599,10 +599,10 @@ static int wm_adsp_fw_put(struct snd_kcontrol *kcontrol,struct wm_adsp *dsp =snd_soc_codec_get_drvdata (codec);int ret =0 ; -if (ucontrol->value.integer.value[0 ] == dsp[e->shift_l].fw) +if (ucontrol->value.enumerated.item[0 ] == dsp[e->shift_l].fw)return 0 ; -if (ucontrol->value.integer.value[0 ] >=WM_ADSP_NUM_FW ) +if (ucontrol->value.enumerated.item[0 ] >=WM_ADSP_NUM_FW )return -EINVAL ;mutex_lock (&dsp[e->shift_l].pwr_lock);
@@ -610,7 +610,7 @@ static int wm_adsp_fw_put(struct snd_kcontrol *kcontrol,if (dsp[e->shift_l].running || dsp[e->shift_l].compr) ret = -EBUSY ;else - dsp[e->shift_l].fw = ucontrol->value.integer.value[0 ]; + dsp[e->shift_l].fw = ucontrol->value.enumerated.item[0 ];mutex_unlock (&dsp[e->shift_l].pwr_lock);