]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ALSA: hdsp: Fix wrong boolean ctl value accesses
authorTakashi Iwai <tiwai@suse.de>
Mon, 29 Feb 2016 13:26:43 +0000 (14:26 +0100)
committerLuis Henriques <luis.henriques@canonical.com>
Thu, 24 Mar 2016 10:00:59 +0000 (10:00 +0000)
commit eab3c4db193f5fcccf70e884de9a922ca2c63d80 upstream.

snd-hdsp driver accesses enum item values (int) instead of boolean
values (long) wrongly for some ctl elements.  This patch fixes them.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
sound/pci/rme9652/hdsp.c

index 4c6f5d1c9882c1e054f0b785995083430cd6be0f..a2fbc99aad87eb2e412d13bc9709500ec30655a2 100644 (file)
@@ -2927,7 +2927,7 @@ static int snd_hdsp_get_dds_offset(struct snd_kcontrol *kcontrol, struct snd_ctl
 {
        struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
 
-       ucontrol->value.enumerated.item[0] = hdsp_dds_offset(hdsp);
+       ucontrol->value.integer.value[0] = hdsp_dds_offset(hdsp);
        return 0;
 }
 
@@ -2939,7 +2939,7 @@ static int snd_hdsp_put_dds_offset(struct snd_kcontrol *kcontrol, struct snd_ctl
 
        if (!snd_hdsp_use_is_exclusive(hdsp))
                return -EBUSY;
-       val = ucontrol->value.enumerated.item[0];
+       val = ucontrol->value.integer.value[0];
        spin_lock_irq(&hdsp->lock);
        if (val != hdsp_dds_offset(hdsp))
                change = (hdsp_set_dds_offset(hdsp, val) == 0) ? 1 : 0;