[Bug 258019] Raspberry Pi 4 panics when using /dev/led/led1

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 24 Aug 2021 05:51:12 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258019

            Bug ID: 258019
           Summary: Raspberry Pi 4 panics when using /dev/led/led1
           Product: Base System
           Version: CURRENT
          Hardware: arm64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: arm
          Assignee: freebsd-arm@FreeBSD.org
          Reporter: mats@exmandato.se

Raspberry Pi 4
8 Gbyte
Booting from USB stick
Running latest snapshot

FreeBSD localhost 14.0-CURRENT FreeBSD 14.0-CURRENT #0
main-n248803-eba8e643b19: Thu Aug 19 10:08:23 UTC 2021    
root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC  arm64

Booting works fine.

# morse -l “SOS” > /dev/led/led0

works as expected.

But when I try:

# morse -l "SOS" > /dev/led/led1
# lock order reversal: (sleepable after non-sleepable)
1st 0xffff000000c31c58 LED mtx (LED mtx, sleep mutex) @
/usr/src/sys/kern/kern_mutex.c:211
2nd 0xffffa00000ffec10 Raspberry Pi firmware gpio (Raspberry Pi firmware gpio,
sx) @ /usr/src/sys/arm/broadcom/bcm2835/raspberrypi_gpio.c:252
lock order LED mtx -> Raspberry Pi firmware gpio attempted at:
#0 0xffff0000004e1b58 at witness_checkorder+0xc0c
#1 0xffff00000047e348 at _sx_xlock+0x7c
#2 0xffff0000007edc60 at rpi_fw_gpio_pin_set+0xe8
#3 0xffff0000001e998c at led_timeout+0xe8
#4 0xffff000000491368 at softclock_call_cc+0x13c
#5 0xffff000000491674 at softclock+0x44
#6 0xffff000000430e64 at ithread_loop+0x2a8
#7 0xffff00000042d724 at fork_exit+0x74
#8 0xffff0000007774cc at fork_trampoline+0x14
panic: malloc(M_WAITOK) with sleeping prohibited
cpuid = 0
time = 1629719529
KDB: stack backtrace:
db_trace_self() at db_trace_self
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
vpanic() at vpanic+0x184
panic() at panic+0x44
malloc_dbg() at malloc_dbg+0xf8
malloc() at malloc+0x2c
bcm2835_firmware_property() at bcm2835_firmware_property+0x44
rpi_fw_gpio_pin_set() at rpi_fw_gpio_pin_set+0x100
led_timeout() at led_timeout+0xe8
softclock_call_cc() at softclock_call_cc+0x13c
softclock() at softclock+0x44
ithread_loop() at ithread_loop+0x2a8
fork_exit() at fork_exit+0x74
fork_trampoline() at fork_trampoline+0x14
KDB: enter: panic
[ thread pid 12 tid 100028 ]
Stopped at      kdb_enter+0x44: undefined       f905011f
db>

-- 
You are receiving this mail because:
You are the assignee for the bug.