Skip to content

Commit c9b83ae

Browse files
committed
ALSA: ymfpci: Fix kctl->id initialization
ymfpci driver replaces the kctl->id.device 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: c27e1ef ("ALSA: control: Use xarray for faster lookups") Cc: <[email protected]> Reviewed-by: Jaroslav Kysela <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent b9a4efd commit c9b83ae

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

sound/pci/ymfpci/ymfpci_main.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1822,20 +1822,20 @@ int snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch)
18221822
if (snd_BUG_ON(!chip->pcm_spdif))
18231823
return -ENXIO;
18241824
kctl = snd_ctl_new1(&snd_ymfpci_spdif_default, chip);
1825+
kctl->id.device = chip->pcm_spdif->device;
18251826
err = snd_ctl_add(chip->card, kctl);
18261827
if (err < 0)
18271828
return err;
1828-
kctl->id.device = chip->pcm_spdif->device;
18291829
kctl = snd_ctl_new1(&snd_ymfpci_spdif_mask, chip);
1830+
kctl->id.device = chip->pcm_spdif->device;
18301831
err = snd_ctl_add(chip->card, kctl);
18311832
if (err < 0)
18321833
return err;
1833-
kctl->id.device = chip->pcm_spdif->device;
18341834
kctl = snd_ctl_new1(&snd_ymfpci_spdif_stream, chip);
1835+
kctl->id.device = chip->pcm_spdif->device;
18351836
err = snd_ctl_add(chip->card, kctl);
18361837
if (err < 0)
18371838
return err;
1838-
kctl->id.device = chip->pcm_spdif->device;
18391839
chip->spdif_pcm_ctl = kctl;
18401840

18411841
/* direct recording source */

0 commit comments

Comments
 (0)