diff --git a/patches.kernel.org/6.2.12-010-ALSA-emu10k1-don-t-create-old-pass-through-pla.patch b/patches.kernel.org/6.2.12-010-ALSA-emu10k1-don-t-create-old-pass-through-pla.patch new file mode 100644 index 0000000..d389b45 --- /dev/null +++ b/patches.kernel.org/6.2.12-010-ALSA-emu10k1-don-t-create-old-pass-through-pla.patch @@ -0,0 +1,58 @@ +From: Oswald Buddenhagen +Date: Wed, 5 Apr 2023 22:12:20 +0200 +Subject: [PATCH] ALSA: emu10k1: don't create old pass-through playback device + on Audigy +References: bsc#1012628 +Patch-mainline: 6.2.12 +Git-commit: 8dd13214a810c695044aa168c0ddba1a9c433e4f + +commit 8dd13214a810c695044aa168c0ddba1a9c433e4f upstream. + +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 +Cc: +Link: https://lore.kernel.org/r/20230405201220.2197938-1-oswald.buddenhagen@gmx.de +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +Signed-off-by: Jiri Slaby +--- + sound/pci/emu10k1/emupcm.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/sound/pci/emu10k1/emupcm.c b/sound/pci/emu10k1/emupcm.c +index 908f76f1..6ec394fb 100644 +--- a/sound/pci/emu10k1/emupcm.c ++++ b/sound/pci/emu10k1/emupcm.c +@@ -1781,17 +1781,21 @@ int snd_emu10k1_pcm_efx(struct snd_emu10k1 *emu, int device) + struct snd_kcontrol *kctl; + int err; + +- err = snd_pcm_new(emu->card, "emu10k1 efx", device, 8, 1, &pcm); ++ err = snd_pcm_new(emu->card, "emu10k1 efx", device, emu->audigy ? 0 : 8, 1, &pcm); + if (err < 0) + return err; + + pcm->private_data = emu; + +- snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_fx8010_playback_ops); ++ if (!emu->audigy) ++ snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_fx8010_playback_ops); + snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_emu10k1_capture_efx_ops); + + pcm->info_flags = 0; +- strcpy(pcm->name, "Multichannel Capture/PT Playback"); ++ if (emu->audigy) ++ strcpy(pcm->name, "Multichannel Capture"); ++ else ++ strcpy(pcm->name, "Multichannel Capture/PT Playback"); + emu->pcm_efx = pcm; + + /* EFX capture - record the "FXBUS2" channels, by default we connect the EXTINs +-- +2.35.3 + diff --git a/series.conf b/series.conf index bb0a985..ce96b41 100644 --- a/series.conf +++ b/series.conf @@ -2237,6 +2237,7 @@ patches.kernel.org/6.2.12-007-ALSA-hda-patch_realtek-add-quirk-for-Asus-N760.patch patches.kernel.org/6.2.12-008-ALSA-hda-realtek-Add-quirks-for-Lenovo-Z13-Z16.patch patches.kernel.org/6.2.12-009-ALSA-firewire-tascam-add-missing-unwind-goto-i.patch + patches.kernel.org/6.2.12-010-ALSA-emu10k1-don-t-create-old-pass-through-pla.patch ######################################################## # Build fixes that apply to the vanilla kernel too.