Module Name: src Committed By: riastradh Date: Fri Jun 4 08:57:05 UTC 2021
Modified Files: src/sys/dev/audio: audio.c Log Message: audio(4): When closing /dev/audioN, drain before removing from list. Previously, in revision 1.100, I factored the SLIST_REMOVE out of audio_unlink and audio_close up into audioclose since it is now used by /dev/audio, /dev/audioctl, and /dev/mixer alike. But I didn't realize that the order 1. audio_track_drain 2. SLIST_REMOVE from sc_files was significant; it matters because audio_track_drain waits for wakeups that are delivered by hardware interrupts only to files listed in sc_files. This also fixes a bug introduced with the audiobell -- it was missing the SLIST_REMOVE altogether. For now, duplicate the SLIST_REMOVE calls in a few more places -- this is suboptimal but I want to make sure the logic works before factoring it all out to tidy up. To generate a diff of this commit: cvs rdiff -u -r1.102 -r1.103 src/sys/dev/audio/audio.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.