Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eab3c4db authored by Takashi Iwai's avatar Takashi Iwai
Browse files

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: default avatarTakashi Iwai <tiwai@suse.de>
parent c1099c32
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);

	ucontrol->value.enumerated.item[0] = hdsp_dds_offset(hdsp);
	ucontrol->value.integer.value[0] = hdsp_dds_offset(hdsp);
	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))
		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;