Re: [GIT PULL] sound updates for 5.14-rc1

From: Linus Torvalds
Date: Fri Jul 02 2021 - 21:37:00 EST


On Fri, Jul 2, 2021 at 1:29 AM Takashi Iwai <tiwai@xxxxxxx> wrote:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.14-rc1

After incorrectly suspecting Andrew's -mm tree (because the kernel
hung with a watchdog on TLB flushing, and so I suspected mm problems),
I've now bisected my hung machine into the sound tree.

And in fact, I have a couple of NMI backtraces that point very
directly at the sound code, and a couple of the hung cores had stack
traces like this:

Call Trace:
_raw_spin_lock_irqsave+0x35/0x40
snd_pcm_period_elapsed+0x1b/0xa0 [snd_pcm]
snd_complete_urb+0x119/0x580 [snd_usb_audio]
__usb_hcd_giveback_urb+0xb2/0x100
usb_giveback_urb_bh+0xaf/0xd0
tasklet_action_common+0xe0/0x160
__do_softirq+0x142/0x296
__irq_exit_rcu+0xc5/0xf0
common_interrupt+0x78/0x90

Call Trace:
_raw_spin_lock_irqsave+0x35/0x40
snd_pcm_period_elapsed+0x1b/0xa0 [snd_pcm]
snd_usb_endpoint_start+0x1a0/0x3c0 [snd_usb_audio]
start_endpoints+0x23/0x90 [snd_usb_audio]
snd_usb_substream_playback_trigger+0x7b/0x1a0 [snd_usb_audio]
snd_pcm_common_ioctl+0x1c44/0x2360 [snd_pcm]
snd_pcm_ioctl+0x2e/0x40 [snd_pcm]
__se_sys_ioctl+0x72/0xc0
do_syscall_64+0x4c/0xa0
entry_SYSCALL_64_after_hwframe+0x44/0xae

so it looks like it's that

snd_pcm_stream_lock_irqsave(substream, flags);

that hangs. Presumably somebody has forgotten to unlock a spinlock they took.

I'll continue bisecting, but this is on my AMD Gigabyte TRX30 Aorus
Master board, which has that internal USB-Audio too, but what I
actually use is that external USB Audioengine 2

0 [Headphone ]: USB-Audio - Aorus Master Front Headphone
Gigabyte-Aorus-Master-Front-Headphone
1 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xfa200000 irq 156
2 [HDMI ]: HDA-Intel - HDA ATI HDMI
HDA ATI HDMI at 0xe1c60000 irq 158
3 [A2 ]: USB-Audio - Audioengine 2
Audioengine Ltd. Audioengine 2 at
usb-0000:03:00.3-2.3, full speed
4 [Audio ]: USB-Audio - Aorus Master Main Audio
Gigabyte-Aorus-Master-Main-Audio

does a hung spinlock make anybody go "Oh, I know!"

My bisect will hopefully have it narrowed down more soon enough. Knock wood.

Linus