Bug 249408 - ARM64 MMCCAM: exclusive sleep mutex CAM device lock
Summary: ARM64 MMCCAM: exclusive sleep mutex CAM device lock
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-bugs (Nobody)
Depends on:
Reported: 2020-09-17 20:02 UTC by Gordon Bergling
Modified: 2021-07-24 17:18 UTC (History)
2 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Gordon Bergling freebsd_committer 2020-09-17 20:02:47 UTC
Booting a MMCCAM enabled kernel of a recent -CURRENT leads to the following 'exclusive sleep mutex CAM device lock' error message. 

uma_zalloc_debug: zone "128" with the following non-sleepable locks held:
exclusive sleep mutex CAM device lock (CAM device lock) r = 0 (0xffffa00000e264d0) locked @ /tank/nfs_public/tiny/src/sys/cam/mmc/mmc_da.c:1105
stack backtrace:
#0 0xffff0000004d47c4 at witness_debugger+0x64
#1 0xffff0000004d56d8 at witness_warn+0x21c
#2 0xffff0000006bf754 at uma_zalloc_debug+0x30
#3 0xffff0000006bf50c at uma_zalloc_arg+0x28
#4 0xffff00000044c32c at uma_zallouhub1 on uhub0
#5 0xffff00000044c130 at malloc+0x94
#6 0xffff0000000fa2f8 at sdda_add_part+0xe0
#7 0xffff0000000f8c9c at sdda_start_init+0x97c
#8 0xffff0000000f82e0 at sdda_start_init_task+0xbc
#9 0xffff0000004c82ac at taskqueue_run_locked+0xac
#10 0xffff0000004c9098 at taskqueue_thread_loop+0x68
#11 0xffff000000433170 at fork_exit+0x80

System is an RPi4B with the following kernel config:

include		GENERIC
options		RATELIMIT
options		TCPHPTS
options 	CAMDEBUG
device		pass
options		MMCCAM
nodevice	mmc
nodevice	mmcsd
Comment 1 Emmanuel Vadot freebsd_committer 2021-07-24 17:18:24 UTC
This one should be fixed now.
There is still some with sdhci though.