summaryrefslogtreecommitdiff
path: root/sound/pci/emu10k1/emu10k1.c
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@gmx.de>2023-07-15 18:07:38 +0200
committerTakashi Iwai <tiwai@suse.de>2023-07-17 09:21:21 +0200
commitc960b012ec4747265f0392a31570045d3f982447 (patch)
tree5b38127d5b32213513c8f0ada34e04ba52a27ffe /sound/pci/emu10k1/emu10k1.c
parent7e9f28398a6e226d4c31cb0e5501a36f37fa139d (diff)
ALSA: emu10k1: track loss of external clock on E-MU cards
85;95;0c This uses IRQs to track spontaneous changes to the word clock source register. FWIW, that this can happen in the first place is the reason why it is futile to lock the clock source mixer setting while the device is open - we can't consistently control the rate anyway. Though arguably, we should reset any open streams when that happens, as they become corrupted anyway. Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Link: https://lore.kernel.org/r/20230715160738.326832-1-oswald.buddenhagen@gmx.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/emu10k1/emu10k1.c')
-rw-r--r--sound/pci/emu10k1/emu10k1.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/pci/emu10k1/emu10k1.c b/sound/pci/emu10k1/emu10k1.c
index 1a13c086e86c..421053569aa0 100644
--- a/sound/pci/emu10k1/emu10k1.c
+++ b/sound/pci/emu10k1/emu10k1.c
@@ -192,6 +192,7 @@ static int snd_emu10k1_suspend(struct device *dev)
emu->suspend = 1;
cancel_work_sync(&emu->emu1010.firmware_work);
+ cancel_work_sync(&emu->emu1010.clock_work);
snd_ac97_suspend(emu->ac97);