Commit a8d0b8d4 authored by Takashi Iwai's avatar Takashi Iwai Committed by Luis Henriques

ALSA: hdsp: Fix wrong boolean ctl value accesses

commit eab3c4db 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: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
parent d6a93f74
...@@ -2927,7 +2927,7 @@ static int snd_hdsp_get_dds_offset(struct snd_kcontrol *kcontrol, struct snd_ctl ...@@ -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); 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; return 0;
} }
...@@ -2939,7 +2939,7 @@ static int snd_hdsp_put_dds_offset(struct snd_kcontrol *kcontrol, struct snd_ctl ...@@ -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)) if (!snd_hdsp_use_is_exclusive(hdsp))
return -EBUSY; return -EBUSY;
val = ucontrol->value.enumerated.item[0]; val = ucontrol->value.integer.value[0];
spin_lock_irq(&hdsp->lock); spin_lock_irq(&hdsp->lock);
if (val != hdsp_dds_offset(hdsp)) if (val != hdsp_dds_offset(hdsp))
change = (hdsp_set_dds_offset(hdsp, val) == 0) ? 1 : 0; change = (hdsp_set_dds_offset(hdsp, val) == 0) ? 1 : 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment