mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 00:34:20 +08:00
ALSA: ice1724: Fix invalid access for enumerated ctl items
commitc47914c00b
upstream. The access to Analog Capture Source control value implemented in prodigy_hifi.c is wrong, as caught by the recently introduced sanity check; it should be accessing value.enumerated.item[] instead of value.integer.value[]. This patch corrects the wrong access pattern. Fixes:6b8d6e5518
("[ALSA] ICE1724: Added support for Audiotrak Prodigy 7.1 HiFi & HD2, Hercules Fortissimo IV") BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=207139 Reviewed-by: Jaroslav Kysela <perex@perex.cz> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20200407084402.25589-3-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6a9ba565b4
commit
e3ab9c5540
@ -536,7 +536,7 @@ static int wm_adc_mux_enum_get(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
|
||||
|
||||
mutex_lock(&ice->gpio_mutex);
|
||||
ucontrol->value.integer.value[0] = wm_get(ice, WM_ADC_MUX) & 0x1f;
|
||||
ucontrol->value.enumerated.item[0] = wm_get(ice, WM_ADC_MUX) & 0x1f;
|
||||
mutex_unlock(&ice->gpio_mutex);
|
||||
return 0;
|
||||
}
|
||||
@ -550,7 +550,7 @@ static int wm_adc_mux_enum_put(struct snd_kcontrol *kcontrol,
|
||||
|
||||
mutex_lock(&ice->gpio_mutex);
|
||||
oval = wm_get(ice, WM_ADC_MUX);
|
||||
nval = (oval & 0xe0) | ucontrol->value.integer.value[0];
|
||||
nval = (oval & 0xe0) | ucontrol->value.enumerated.item[0];
|
||||
if (nval != oval) {
|
||||
wm_put(ice, WM_ADC_MUX, nval);
|
||||
change = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user