While booting linux mainline kernel v5.17.0 on arm64 dragonboard 845c
the following kernel deadlock warning was noticed.
This build config is generated by kselftest-merge configs.
[ 11.472323] qcom_q6v5_pas remoteproc-adsp: supply cx not found,
using dummy regulator
[ 11.482690] qcom_q6v5_pas remoteproc-adsp: supply px not found,
using dummy regulator
[ 11.643728] qcom,slim-ngd-ctrl 171c0000.slim: Adding to iommu group 1
[ 11.647956] NET: Registered PF_QIPCRTR protocol family
[ 11.655652] failed to send lookup registration: -19
[ 11.679730] remoteproc remoteproc0: remoteproc-adsp is available
[ 11.688073] remoteproc remoteproc0: Direct firmware load for
qcom/sdm845/adsp.mbn failed with error -2
[ 11.698131] remoteproc remoteproc0: powering up remoteproc-adsp
[ 11.704730] remoteproc remoteproc0: Direct firmware load for
qcom/sdm845/adsp.mbn failed with error -2
[ 11.714571] remoteproc remoteproc0: request_firmware failed: -2
[ 11.753156] cpu cpu0: EM: created perf domain
[ 11.773034]
[ 11.774570] ============================================
[ 11.779933] WARNING: possible recursive locking detected
[ 11.785303] 5.17.0 #1 Not tainted
[ 11.788662] --------------------------------------------
[ 11.794029] kworker/u16:2/80 is trying to acquire lock:
[ 11.798293] qcom_q6v5_pas remoteproc-cdsp: supply cx not found,
using dummy regulator
[ 11.799312] ffff7e0cc11b28f8 (&irq_desc_lock_class){-.-.}-{2:2},
at: __irq_get_desc_lock+0x64/0xa4
[ 11.816285]
[ 11.816285] but task is already holding lock:
[ 11.822173] ffff7e0cc0fd38f8 (&irq_desc_lock_class){-.-.}-{2:2},
at: __irq_get_desc_lock+0x64/0xa4
[ 11.823425] qcom_q6v5_pas remoteproc-cdsp: supply px not found,
using dummy regulator
[ 11.831231]
[ 11.831231] other info that might help us debug this:
[ 11.831234] Possible unsafe locking scenario:
[ 11.831234]
[ 11.831236] CPU0
[ 11.831238] ----
[ 11.831240] lock(&irq_desc_lock_class);
[ 11.831245] lock(&irq_desc_lock_class);
[ 11.831251]
[ 11.831251] *** DEADLOCK ***
[ 11.831251]
[ 11.831253] May be due to missing lock nesting notation
[ 11.831253]
[ 11.831255] 6 locks held by kworker/u16:2/80:
[ 11.831259] #0: ffff7e0cc0018d38
((wq_completion)events_unbound){+.+.}-{0:0}, at:
process_one_work+0x1e8/0x6f4
[ 11.862787] cfg80211: Loading compiled-in X.509 certificates for
regulatory database
[ 11.864788] #1: ffff800008673dd0
(deferred_probe_work){+.+.}-{0:0}, at: process_one_work+0x1e8/0x6f4
[ 11.864808] #2: ffff7e0cc12bf188 (&dev->mutex
[ 11.882336] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 11.892239] ){....}-{3:3}, at: __device_attach+0x44/0x1c0
[ 11.892255] #3: ffffb99e189d0870 (cpu_hotplug_lock){++++}-{0:0},
at: cpus_read_lock+0x1c/0x30
[ 11.892276] #4:
[ 11.900398] platform regulatory.0: Direct firmware load for
regulatory.db failed with error -2
[ 11.909407] ffff7e0cc0f98918 (subsys mutex#8){+.+.}-{3:3}, at:
subsys_interface_register+0x64/0x150
[ 11.909429] #5: ffff7e0cc0fd38f8
(&irq_desc_lock_class){-.-.}-{2:2}, at: __irq_get_desc_lock+0x64/0xa4
[ 11.913956] cfg80211: failed to load regulatory.db
[ 11.920518]
[ 11.920518] stack backtrace:
[ 11.920523] CPU: 4 PID: 80 Comm: kworker/u16:2 Not tainted 5.17.0 #1
[ 11.920530] Hardware name: Thundercomm Dragonboard 845c (DT)
[ 11.920535] Workqueue: events_unbound deferred_probe_work_func
[ 11.957146] remoteproc remoteproc1: remoteproc-cdsp is available
[ 11.963917]
[ 11.963921] Call trace:
[ 11.963924] dump_backtrace+0xf8/0x130
[ 11.963933] show_stack+0x24/0x80
[ 11.963937] dump_stack_lvl+0x8c/0xb8
[ 11.963948] dump_stack+0x18/0x34
[ 11.985142] remoteproc remoteproc1: Direct firmware load for
qcom/sdm845/cdsp.mbn failed with error -2
[ 11.985323] __lock_acquire+0xbc8/0x20cc
[ 11.991270] remoteproc remoteproc1: powering up remoteproc-cdsp
[ 11.997292] lock_acquire.part.0+0xe0/0x230
[ 11.997301] lock_acquire+0x68/0x84
[ 11.997309] _raw_spin_lock_irqsave+0x88/0x150
[ 11.997317] __irq_get_desc_lock+0x64/0xa4
[ 11.997324] enable_irq+0x40/0xb0
[ 11.998891] remoteproc remoteproc1: Direct firmware load for
qcom/sdm845/cdsp.mbn failed with error -2
[ 12.001316] lmh_enable_interrupt+0x38/0x44 [lmh]
[ 12.001329] irq_enable+0x4c/0xa0
[ 12.001337] __irq_startup+0x80/0xb0
[ 12.005282] remoteproc remoteproc1: request_firmware failed: -2
[ 12.008487] irq_startup+0x84/0x174
[ 12.008495] __enable_irq+0x7c/0x90
[ 12.008501] enable_irq+0x54/0xb0
[ 12.008508] qcom_cpufreq_ready+0x2c/0x3c
[ 12.096152] cpufreq_online+0x5a8/0xa60
[ 12.096160] cpufreq_add_dev+0xc8/0xe0
[ 12.096167] subsys_interface_register+0x138/0x150
[ 12.096176] cpufreq_register_driver+0x180/0x300
OK Started udev Coldplug all Devices.[ 12.113357]
qcom_cpufreq_hw_driver_probe+0xe0/0x150
[ 12.123101] platform_probe+0x74/0xf0
[ 12.126994] really_probe+0x1c4/0x440
[ 12.130706] __driver_probe_device+0x11c/0x190
[ 12.135201] driver_probe_device+0x48/0x104
[ 12.139429] __device_attach_driver+0xa4/0x140
[ 12.143927] bus_for_each_drv+0x84/0xe0
[ 12.147810] __device_attach+0xe4/0x1c0
[ 12.151695] device_initial_probe+0x20/0x30
[ 12.155934] bus_probe_device+0xac/0xb4
[ 12.159817] deferred_probe_work_func+0xc8/0x120
[ 12.164486] process_one_work+0x280/0x6f4
[ 12.168540] worker_thread+0x80/0x450
[ 12.172256] kthread+0x10c/0x120
[ 12.172264] ret_from_fork+0x10/0x20
Reported-by: Linux Kernel Functional Testing <[email protected]>
metadata:
git_ref: master
git_repo: https://gitlab.com/Linaro/lkft/mirrors/torvalds/linux-mainline
git_sha: f443e374ae131c168a065ea1748feac6b2e76613
git_describe: v5.17
kernel_version: 5.17.0
kernel-config: https://builds.tuxbuild.com/26fPPSbBmMfOqElIN3NGgvUWHeW/config
--
Linaro LKFT
https://lkft.linaro.org
[1] https://lkft.validation.linaro.org/scheduler/job/4754457#L3342