ALSA: gus: Fix kctl->id initialization
GUS driver replaces the kctl->id.index after assigning the kctl via
snd_ctl_add(). This doesn't work any longer with the new Xarray
lookup change. It has to be set before snd_ctl_add() call instead.
Fixes: c27e1efb61
("ALSA: control: Use xarray for faster lookups")
Cc: <stable@vger.kernel.org>
Reviewed-by: Jaroslav Kysela <perex@perex.cz>
Link: https://lore.kernel.org/r/20230606093855.14685-4-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
f2f312ad88
commit
c5ae57b1bb
|
@ -892,10 +892,10 @@ int snd_gf1_pcm_new(struct snd_gus_card *gus, int pcm_dev, int control_index)
|
||||||
kctl = snd_ctl_new1(&snd_gf1_pcm_volume_control1, gus);
|
kctl = snd_ctl_new1(&snd_gf1_pcm_volume_control1, gus);
|
||||||
else
|
else
|
||||||
kctl = snd_ctl_new1(&snd_gf1_pcm_volume_control, gus);
|
kctl = snd_ctl_new1(&snd_gf1_pcm_volume_control, gus);
|
||||||
|
kctl->id.index = control_index;
|
||||||
err = snd_ctl_add(card, kctl);
|
err = snd_ctl_add(card, kctl);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
kctl->id.index = control_index;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue