linux/sound/pci/emu10k1
Oswald Buddenhagen e8289fd3fa ALSA: emu10k1: fix E-MU dock initialization
A side effect of making the dock monitoring interrupt-driven was that
we'd be very quick to program a freshly connected dock. However, for
unclear reasons, the dock does not work when we do that - despite the
FPGA netlist upload going just fine. We work around this by adding a
delay before programming the dock; for safety, the value is several
times as much as was determined empirically.

Note that a badly timed dock hot-plug would have triggered the problem
even before the referenced commit - but now it would happen 100% instead
of about 3% of the time, thus making it impossible to work around by
re-plugging.

Fixes: fbb64eedf5 ("ALSA: emu10k1: make E-MU dock monitoring interrupt-driven")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=218584
Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Message-ID: <20240428093716.3198666-6-oswald.buddenhagen@gmx.de>
2024-04-28 11:58:12 +02:00
..
emu10k1.c ALSA: emu10k1: move the whole GPIO event handling to the workqueue 2024-04-28 11:58:12 +02:00
emu10k1_callback.c Revert "ALSA: emu10k1: fix synthesizer sample playback position and caching" 2024-04-02 07:55:00 +02:00
emu10k1_main.c ALSA: emu10k1: fix E-MU dock initialization 2024-04-28 11:58:12 +02:00
emu10k1_patch.c ALSA: pci/emu10k1: remove 'set but not used' warning 2020-07-07 12:09:45 +02:00
emu10k1_synth.c ALSA: emu10k1: remove superfluous IRQ enable state saving 2023-07-13 10:30:06 +02:00
emu10k1_synth_local.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
emu10k1x.c ALSA: emu10k1x: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:24 +02:00
emufx.c ALSA: Make control API taking controls_rwsem consistently 2023-07-20 10:05:19 +02:00
emumixer.c ALSA: emu10k1: use mutex for E-MU FPGA access locking 2024-04-28 11:58:12 +02:00
emumpu401.c ALSA: emu10k1: remove superfluous IRQ enable state saving 2023-07-13 10:30:06 +02:00
emupcm.c ALSA: emu10k1: rework copyright statements 2023-07-17 09:30:34 +02:00
emuproc.c ALSA: emu10k1: use mutex for E-MU FPGA access locking 2024-04-28 11:58:12 +02:00
io.c ALSA: emu10k1: use mutex for E-MU FPGA access locking 2024-04-28 11:58:12 +02:00
irq.c ALSA: emu10k1: clean up driver status comments 2023-07-17 09:29:36 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
memory.c Revert "ALSA: emu10k1 - delay the PCM interrupts (add pcm_irq_delay parameter)" 2023-05-18 07:29:41 +02:00
p16v.c ALSA: emu10k1: use more existing defines instead of open-coded numbers 2023-04-28 11:22:51 +02:00
p16v.h ALSA: emu10k1: clean up driver status comments 2023-07-17 09:29:36 +02:00
p17v.h ALSA: emu10k1: clean up driver status comments 2023-07-17 09:29:36 +02:00
timer.c ALSA: emu10k1: rework copyright statements 2023-07-17 09:30:34 +02:00
tina2.h ALSA: emu10k1: clean up driver status comments 2023-07-17 09:29:36 +02:00
voice.c ALSA: emu10k1: rework copyright statements 2023-07-17 09:30:34 +02:00