summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorCen Zhang <zzzccc427@gmail.com>2026-10-25 00:49:49 +0800
committerTakashi Iwai <tiwai@suse.de>2026-10-26 09:00:55 +0100
commita71cef6f641152c7c7bbc17d86f33a3b45cd10a9 (patch)
tree58326018b3b379ef34a6831d0a8f14c077ae21e8 /scripts/Makefile.thinlto
parent9b30046de03acb3b3f2135d45af6be7ee0b565b6 (diff)
downloadlinux-a71cef6f641152c7c7bbc17d86f33a3b45cd10a9.tar.gz
linux-a71cef6f641152c7c7bbc17d86f33a3b45cd10a9.zip
ALSA: opl3: Initialize the timer before publishing a sequencer port
snd_opl3_seq_probe() initializes the delayed-note timer and its lock after snd_opl3_synth_create_port() has made the native port reachable. A direct NOTEON does not require a subscription, and a fixed-duration instrument makes it enter snd_opl3_start_timer(). On sequencer-driver rebind, the card-owned instrument bank remains available. An event delivered as soon as the port appears can race the late initialization: Sequencer driver probe Direct NOTEON ---------------------- ------------- snd_opl3_synth_create_port() snd_seq_event_port_attach() publish port snd_opl3_synth_event_input() snd_opl3_note_on() snd_opl3_start_timer() use tlist and sys_timer_lock timer_setup(tlist) spin_lock_init(sys_timer_lock) sys_timer_status = 0 Initialize the timer, its lock and its status before creating the client and attaching either port. No event can then reach partially initialized timer state or have its newly armed timer reinitialized by the probe. Assisted-by: LLM Signed-off-by: Cen Zhang <zzzccc427@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://patch.msgid.link/pm-pmb-4552c4e605507d8d9b16-v9-70247b8436e10e26d324-1@gmail.com
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions