[tiwai/for-next] hard lockups with pipewire and snd-usb-audio
From: Hector Martin
Date: Fri Jul 02 2021 - 06:34:20 EST
Hi Takashi,
I've been testing builds from your for-next branch to get the recent
firewire fixes. All that works fine, but instead I've been getting hard
lockups with pipewire and snd-usb-audio. I'm currently on 9a7b7ec3c6.
Backtrace:
do_raw_spin_lock+0x8e/0x90
_raw_spin_lock_irqsave+0x3e/0x50
? snd_pcm_period_elapsed+0x10/0x30 [snd_pcm]
snd_pcm_period_elapsed+0x10/0x30 [snd_pcm]
snd_usb_endpoint_start+0xd8/0x270 [snd_usb_audio]
start_endpoints+0x50/0x70 [snd_usb_audio]
snd_usb_substream_playback_trigger+0x58/0x100 [snd_usb_audio]
snd_pcm_action+0x74/0xb0 [snd_pcm]
snd_pcm_action_lock_irq+0x36/0x80 [snd_pcm]
snd_pcm_ioctl+0x1e/0x30 [snd_pcm]
__x64_sys_ioctl+0x7d/0xb0
do_syscall_64+0x45/0x80
entry_SYSCALL_64_after_hwframe+0x44/0xae
To me it looks like it's recursively trying to lock the stream spinlock.
I'm not sure what version this is a regression from; I've only triggered
it with pipewire so far, which I wasn't previously using. It's easy to
reproduce. Usually, pulling up pavucontrol on pipewire with the USB
audio device on an active profile will do it.
Just thought you might want to know. Let me know if you need any more info.
--
Hector Martin (marcan@xxxxxxxxx)
Public Key: https://mrcn.st/pub