]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
ASoC: wm_adsp: Explicitly set the control access flags in all cases
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Fri, 19 Feb 2016 14:44:42 +0000 (14:44 +0000)
committerMark Brown <broonie@kernel.org>
Sat, 20 Feb 2016 18:08:19 +0000 (03:08 +0900)
In the case where the firmware does not tell us the access flags for the
control, we let ALSA select a default (READWRITE). But really we should
be applying the volatile flag in this case, as we will read the control
from the DSP if it is on in this case. This patch explicitly sets the
access flags in all cases.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wm_adsp.c

index cb49a632462a3b5588de708e4c0cc3191776ab60..ff0ce6ba1b69d1314f74f2dc4e37fe577cec86c8 100644 (file)
@@ -857,6 +857,9 @@ static int wmfw_add_ctl(struct wm_adsp *dsp, struct wm_coeff_ctl *ctl)
                        kcontrol->access |= SNDRV_CTL_ELEM_ACCESS_READ;
                if (ctl->flags & WMFW_CTL_FLAG_VOLATILE)
                        kcontrol->access |= SNDRV_CTL_ELEM_ACCESS_VOLATILE;
+       } else {
+               kcontrol->access = SNDRV_CTL_ELEM_ACCESS_READWRITE;
+               kcontrol->access |= SNDRV_CTL_ELEM_ACCESS_VOLATILE;
        }
 
        ret = snd_soc_add_card_controls(dsp->card,