mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-04-03 06:48:01 +07:00
ALSA: hdsp: Fix wrong boolean ctl value accesses
snd-hdsp driver accesses enum item values (int) instead of boolean values (long) wrongly for some ctl elements. This patch fixes them. Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
c1099c3294
commit
eab3c4db19
@ -2879,7 +2879,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;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2891,7 +2891,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;
|
||||||
|
Loading…
Reference in New Issue
Block a user