Bug 251032 - RPi4: lock order LED mtx -> Raspberry Pi firmware gpio attempted at
Summary: RPi4: lock order LED mtx -> Raspberry Pi firmware gpio attempted at
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: arm (show other bugs)
Version: CURRENT
Hardware: arm64 Any
: --- Affects Only Me
Assignee: freebsd-arm (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-11 04:47 UTC by support
Modified: 2024-03-06 20:34 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description support 2020-11-11 04:47:34 UTC
Under arm64-aarch64-RPI3-20201105 on RPi4, I am seeing the following messages in the logs:

Nov  5 10:06:06 generic kernel: uma_zalloc_debug: zone "malloc-64" with the following non-sleepable locks held:
Nov  5 10:06:06 generic kernel: exclusive sleep mutex LED mtx (LED mtx) r = 0 (0xffff000000c14ad8) locked @ /usr/src/sys/dev/led/led.c:298
Nov  5 10:06:06 generic kernel: stack backtrace:
Nov  5 10:06:06 generic kernel: #0 0xffff000000568694 at witness_debugger+0x64
Nov  5 10:06:06 generic kernel: #1 0xffff000000569824 at witness_warn+0x3ec
Nov  5 10:06:06 generic kernel: #2 0xffff000000772194 at uma_zalloc_debug+0x2c
Nov  5 10:06:06 generic kernel: #3 0xffff000000771bf8 at uma_zalloc_arg+0x2c
Nov  5 10:06:06 generic kernel: #4 0xffff0000004d1848 at malloc+0xf0
Nov  5 10:06:06 generic kernel: #5 0xffff0000007d2864 at bcm2835_firmware_property+0x44
Nov  5 10:06:06 generic kernel: #6 0xffff0000007dd6bc at rpi_fw_gpio_pin_set+0x100
Nov  5 10:06:06 generic kernel: #7 0xffff000000295afc at led_create_state+0x158
Nov  5 10:06:06 generic kernel: #8 0xffff000000267448 at gpioled_attach+0x290
Nov  5 10:06:06 generic kernel: #9 0xffff0000005345cc at device_attach+0x400
Nov  5 10:06:06 generic kernel: #10 0xffff000000534134 at device_probe_and_attach+0x7c
Nov  5 10:06:06 generic kernel: #11 0xffff00000053631c at bus_generic_new_pass+0xf8
Nov  5 10:06:06 generic kernel: #12 0xffff0000005362cc at bus_generic_new_pass+0xa8
Nov  5 10:06:06 generic kernel: #13 0xffff0000005362cc at bus_generic_new_pass+0xa8
Nov  5 10:06:06 generic kernel: #14 0xffff0000005316b0 at bus_set_pass+0x4c
Nov  5 10:06:06 generic kernel: #15 0xffff00000048c57c at mi_startup+0x12c
Comment 1 John F. Carr 2024-03-06 20:34:14 UTC
This is still happening on 15.0-CURRENT on 3B+ with an added lock order reversal message.

Mar  6 16:43:04 generic kernel: gpioled0: <GPIO LEDs> on ofwbus0
Mar  6 16:43:04 generic kernel: lock order reversal: (sleepable after non-sleepable)
Mar  6 16:43:04 generic kernel:  1st 0xffff000000e75678 LED mtx (LED mtx, sleep mutex) @ /usr/home/15/src/sys/dev/led/led.c:295
Mar  6 16:43:04 generic kernel:  2nd 0xffffa000013af810 Raspberry Pi firmware gpio (Raspberry Pi firmware gpio, sx) @ /usr/home/15/src/sys/arm/broadcom/bcm2835/raspberrypi_gpio.c:250
Mar  6 16:43:04 generic kernel: lock order LED mtx -> Raspberry Pi firmware gpio attempted at:
Mar  6 16:43:04 generic kernel: #0 0xffff00000058f39c at witness_checkorder+0xa5c
Mar  6 16:43:04 generic kernel: #1 0xffff00000051d9b0 at _sx_xlock+0x70
Mar  6 16:43:04 generic kernel: #2 0xffff0000009c6558 at rpi_fw_gpio_pin_set+0xe8
Mar  6 16:43:04 generic kernel: #3 0xffff000000214dac at led_create_state+0x15c
Mar  6 16:43:04 generic kernel: #4 0xffff0000001d86f4 at gpioled_attach+0x2a4
Mar  6 16:43:04 generic kernel: #5 0xffff0000005523cc at device_attach+0x3ec
Mar  6 16:43:04 generic kernel: #6 0xffff000000551f40 at device_probe_and_attach+0x80
Mar  6 16:43:04 generic kernel: #7 0xffff0000005546cc at bus_generic_new_pass+0x10c
Mar  6 16:43:04 generic kernel: #8 0xffff000000554678 at bus_generic_new_pass+0xb8
Mar  6 16:43:04 generic kernel: #9 0xffff000000554678 at bus_generic_new_pass+0xb8
Mar  6 16:43:04 generic kernel: #10 0xffff00000054e938 at bus_set_pass+0x58
Mar  6 16:43:04 generic kernel: #11 0xffff00000048ef30 at mi_startup+0x1e0
Mar  6 16:43:04 generic kernel: #12 0xffff0000000008a8 at virtdone+0x68
Mar  6 16:43:04 generic kernel: uma_zalloc_debug: zone "malloc-64" with the following non-sleepable locks held:
Mar  6 16:43:04 generic kernel: exclusive sleep mutex LED mtx (LED mtx) r = 0 (0xffff000000e75678) locked @ /usr/home/15/src/sys/dev/led/led.c:295
Mar  6 16:43:04 generic kernel: stack backtrace:
Mar  6 16:43:04 generic kernel: #0 0xffff00000058f810 at witness_debugger+0x60
Mar  6 16:43:04 generic kernel: #1 0xffff000000590b1c at witness_warn+0x43c
Mar  6 16:43:04 generic kernel: #2 0xffff000000878294 at uma_zalloc_debug+0x34
Mar  6 16:43:04 generic kernel: #3 0xffff000000877e10 at uma_zalloc_arg+0x30
Mar  6 16:43:04 generic kernel: #4 0xffff0000004e21f0 at malloc+0x90
Mar  6 16:43:04 generic kernel: #5 0xffff0000009ba8e8 at bcm2835_firmware_property+0x48
Mar  6 16:43:04 generic kernel: #6 0xffff0000009c6570 at rpi_fw_gpio_pin_set+0x100
Mar  6 16:43:04 generic kernel: #7 0xffff000000214dac at led_create_state+0x15c
Mar  6 16:43:04 generic kernel: #8 0xffff0000001d86f4 at gpioled_attach+0x2a4
Mar  6 16:43:04 generic kernel: #9 0xffff0000005523cc at device_attach+0x3ec
Mar  6 16:43:04 generic kernel: #10 0xffff000000551f40 at device_probe_and_attach+0x80
Mar  6 16:43:04 generic kernel: #11 0xffff0000005546cc at bus_generic_new_pass+0x10c
Mar  6 16:43:04 generic kernel: #12 0xffff000000554678 at bus_generic_new_pass+0xb8
Mar  6 16:43:04 generic kernel: #13 0xffff000000554678 at bus_generic_new_pass+0xb8
Mar  6 16:43:04 generic kernel: #14 0xffff00000054e938 at bus_set_pass+0x58
Mar  6 16:43:04 generic kernel: #15 0xffff00000048ef30 at mi_startup+0x1e0
Mar  6 16:43:04 generic kernel: #16 0xffff0000000008a8 at virtdone+0x68
Mar  6 16:43:04 generic kernel: armv8crypto0: CPU lacks AES instructions