opnsense-src/sys/dev/sound/pcm
Christos Margiolis 46a97b9cd6 sound: Do not access cv_waiters
Remove uses of cv_waiters in PCM_RELEASE and CHN_BROADCAST, and also use
a counter around cv_timedwait_sig() in chn_sleep(), which is checked in
pcm_killchans(), as opposed to reading cv_waiters directly, which is a
layering violation.

While here, move CHN_BROADCAST below the channel lock operations.

Reported by:	avg, jhb, markj
Sponsored by:	The FreeBSD Foundation
MFC after:	2 days
Reviewed by:	dev_submerge.ch, avg
Differential Revision:	https://reviews.freebsd.org/D47780
2024-12-02 17:26:58 +01:00
..
ac97.c sound: Remove dead code from pcm/ 2024-12-02 17:26:27 +01:00
ac97.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ac97_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
buffer.c sound: Remove dead code from pcm/ 2024-12-02 17:26:27 +01:00
buffer.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
channel.c sound: Do not access cv_waiters 2024-12-02 17:26:58 +01:00
channel.h sound: Do not access cv_waiters 2024-12-02 17:26:58 +01:00
channel_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
dsp.c sound: Remove dead code from pcm/ 2024-12-02 17:26:27 +01:00
dsp.h sound: Untangle dsp_cdevs[] and dsp_unit2name() confusion 2024-10-24 13:37:23 +02:00
feeder.c sound: Retire pcm_veto_load 2024-11-03 20:02:17 +01:00
feeder.h sound: Dissolve pcm/intpcm.h 2024-12-02 17:26:38 +01:00
feeder_chain.c sound: Simplify feeder_remove() 2024-07-27 14:55:57 +03:00
feeder_eq.c sound: Rename chn_* feeder functions to feeder_* 2024-07-27 14:55:37 +03:00
feeder_format.c sound: Dissolve pcm/intpcm.h 2024-12-02 17:26:38 +01:00
feeder_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
feeder_matrix.c sound: Use nitems() where possible 2024-05-06 20:35:55 +02:00
feeder_mixer.c sys: Remove SND_DECLARE_FILE 2023-08-18 13:05:12 -07:00
feeder_rate.c sound: Remove dead code from pcm/ 2024-12-02 17:26:27 +01:00
feeder_volume.c sound: Use nitems() where possible 2024-05-06 20:35:55 +02:00
g711.h sound: Dissolve pcm/intpcm.h 2024-12-02 17:26:38 +01:00
matrix.h sound: Merge pcm/matrix_map.h with pcm/matrix.h 2024-12-02 17:26:43 +01:00
mixer.c sound: Remove PCM_DETACHING(), SD_F_DETACHING and SD_F_DYING 2024-11-26 15:48:30 +01:00
mixer.h sound: Handle unavailable devices in various OSS IOCTLs 2024-05-23 02:57:17 +02:00
mixer_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
pcm.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
sndstat.c sound: Improve /dev/sndstat channel info readability 2024-10-18 10:41:23 +02:00
sound.c sound: Do not access cv_waiters 2024-12-02 17:26:58 +01:00
sound.h sound: Do not access cv_waiters 2024-12-02 17:26:58 +01:00
vchan.c sound: Fix chn_trigger() and vchan_trigger() races 2024-11-26 15:48:18 +01:00
vchan.h sound: Remove unused "num" argument from chn_init() and related callers 2024-05-06 20:35:55 +02:00