mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-06-09 20:49:58 -04:00
ALSA: control: Use deferred fasync helper
For avoiding the potential deadlock via kill_fasync() call, use the new fasync helpers to defer the invocation from the control API. Note that it's merely a workaround. Another note: although we haven't received reports about the deadlock with the control API, the deadlock is still potentially possible, and it's better to align the behavior with other core APIs (PCM and timer); so let's move altogether. Link: https://lore.kernel.org/r/20220728125945.29533-5-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
@@ -109,7 +109,7 @@ struct snd_ctl_file {
|
||||
int preferred_subdevice[SND_CTL_SUBDEV_ITEMS];
|
||||
wait_queue_head_t change_sleep;
|
||||
spinlock_t read_lock;
|
||||
struct fasync_struct *fasync;
|
||||
struct snd_fasync *fasync;
|
||||
int subscribed; /* read interface is activated */
|
||||
struct list_head events; /* waiting events for read */
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user