Bug 296682 - uaudio: panic: _mtx_lock_sleep: recursed on non-recursive mutex uaudio mixer lock @ /usr/src/sys/dev/sound/usb/uaudio.c:5399
Summary: uaudio: panic: _mtx_lock_sleep: recursed on non-recursive mutex uaudio mixer ...
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 16.0-CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: Christos Margiolis
URL:
Keywords: crash
Depends on:
Blocks:
 
Reported: 2026-07-11 01:05 UTC by J.R. Oldroyd
Modified: 2026-07-21 22:28 UTC (History)
1 user (show)

See Also:


Attachments
core.txt (34.68 KB, application/x-troff-man)
2026-07-11 12:35 UTC, J.R. Oldroyd
no flags Details
possible fix (1.17 KB, patch)
2026-07-11 12:59 UTC, Christos Margiolis
no flags Details | Diff
mtx_recurse patch (1.23 KB, patch)
2026-07-14 14:06 UTC, Christos Margiolis
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description J.R. Oldroyd 2026-07-11 01:05:59 UTC
16-current kernel of 20260710.

Boot system.
Insert USB snd_uaudio dongle Jabra 390a.

system panics.

panic: _mtx_lock_sleep: recursed on non-recursive mutex uaudio mixer lock @ /usr/src/sys/dev/sound/usb/uaudio.c:5399

Can send core.txt and other debug if needed.

Dongle/driver were fine on 16-cur kernel of 20260404.
Comment 1 Christos Margiolis freebsd_committer freebsd_triage 2026-07-11 12:32:10 UTC
Could you please share the whole panic message?
Comment 2 J.R. Oldroyd 2026-07-11 12:35:49 UTC
Created attachment 272723 [details]
core.txt
Comment 3 Christos Margiolis freebsd_committer freebsd_triage 2026-07-11 12:59:25 UTC
Created attachment 272728 [details]
possible fix

Please apply the attached patch and let me know if the issue is fixed.
Comment 4 J.R. Oldroyd 2026-07-11 13:47:01 UTC
Perfect! Works as before.

Thanks for the speedy fix, Christos.
Comment 5 Christos Margiolis freebsd_committer freebsd_triage 2026-07-14 14:06:21 UTC
Created attachment 272837 [details]
mtx_recurse patch

Could you please try out this patch instead?
Comment 6 J.R. Oldroyd 2026-07-14 20:48:06 UTC
Thanks Christos, this also works.
Comment 7 commit-hook freebsd_committer freebsd_triage 2026-07-14 21:17:51 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=954001a9dd363da9184706657eb34f9622bb220f

commit 954001a9dd363da9184706657eb34f9622bb220f
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2026-07-11 12:57:35 +0000
Commit:     Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2026-07-14 21:16:28 +0000

    snd_uaudio: Initialize mixer_lock with MTX_RECURSE

    Fixes:          fc9dc8482396 ("snd_uaudio: Lock usbd_transfer_start() in uaudio_mixer_ctl_set()")
    PR:             296682
    Sponsored by:   The FreeBSD Foundation
    MFC after:      3 days

 sys/dev/sound/usb/uaudio.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
Comment 8 commit-hook freebsd_committer freebsd_triage 2026-07-21 22:28:47 UTC
A commit in branch stable/15 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=c715fbb8b7e4926b93d7949b4d51ab07334d0b84

commit c715fbb8b7e4926b93d7949b4d51ab07334d0b84
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2026-07-11 12:57:35 +0000
Commit:     Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2026-07-21 22:28:12 +0000

    snd_uaudio: Initialize mixer_lock with MTX_RECURSE

    Fixes:          fc9dc8482396 ("snd_uaudio: Lock usbd_transfer_start() in uaudio_mixer_ctl_set()")
    PR:             296682
    Sponsored by:   The FreeBSD Foundation
    MFC after:      3 days

    (cherry picked from commit 954001a9dd363da9184706657eb34f9622bb220f)

 sys/dev/sound/usb/uaudio.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)