Skip to content

Commit 8dd1321

Browse files
ossilatortiwai
authored andcommitted
ALSA: emu10k1: don't create old pass-through playback device on Audigy
It could have never worked, as snd_emu10k1_fx8010_playback_prepare() and snd_emu10k1_fx8010_playback_hw_free() assume the emu10k1 offset for the ETRAM, and the default DSP code includes no handler for it. It also wouldn't make a lot of sense to make it work, as Audigy has an own, much simpler, pass-through mechanism. So just skip creation of the device. Signed-off-by: Oswald Buddenhagen <[email protected]> Cc: <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent b09c551 commit 8dd1321

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

sound/pci/emu10k1/emupcm.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1781,17 +1781,21 @@ int snd_emu10k1_pcm_efx(struct snd_emu10k1 *emu, int device)
17811781
struct snd_kcontrol *kctl;
17821782
int err;
17831783

1784-
err = snd_pcm_new(emu->card, "emu10k1 efx", device, 8, 1, &pcm);
1784+
err = snd_pcm_new(emu->card, "emu10k1 efx", device, emu->audigy ? 0 : 8, 1, &pcm);
17851785
if (err < 0)
17861786
return err;
17871787

17881788
pcm->private_data = emu;
17891789

1790-
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_fx8010_playback_ops);
1790+
if (!emu->audigy)
1791+
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_fx8010_playback_ops);
17911792
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_emu10k1_capture_efx_ops);
17921793

17931794
pcm->info_flags = 0;
1794-
strcpy(pcm->name, "Multichannel Capture/PT Playback");
1795+
if (emu->audigy)
1796+
strcpy(pcm->name, "Multichannel Capture");
1797+
else
1798+
strcpy(pcm->name, "Multichannel Capture/PT Playback");
17951799
emu->pcm_efx = pcm;
17961800

17971801
/* EFX capture - record the "FXBUS2" channels, by default we connect the EXTINs

0 commit comments

Comments
 (0)