NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/59705: fusbtc crashes during boot trying to take sleeping lock from interrupt context



>Number:         59705
>Category:       kern
>Synopsis:       fusbtc crashes during boot trying to take sleeping lock from interrupt context
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Oct 13 04:00:00 +0000 2025
>Originator:     matthew green
>Release:        -current
>Organization:
people's front against (bozotic) www (softwar foundation)
>Environment:
rockpro64
>Description:
booting -current kernel which has this device enabled now gives me:

[   1.0000040] relevant cpu :                  0 last held:                  0
[   1.0000040] relevant lwp : 0xffffc00000d49200 last held: 000000000000000000
[   1.0000040] last locked  : netbsd:iic_acquire_bus+0x88
[   1.0000040] unlocked*    : netbsd:fusbtc_write_reg+0x58
[   1.0000040] owner field  : 0xffffc00000d49200 wait/spin:                0/0
[   1.0000040] Turnstile: no active turnstile for this lock.

[   1.0000040] panic: LOCKDEBUG: Mutex error: mutex_tryenter,898: acquiring sleep lock from interrupt context
[   1.0000040] cpu0: Begin traceback...
[   1.0000040] trace fp ffffc00000fe6730
[   1.0000040] fp ffffc00000fe6760 vpanic() at ffffc000005e1750 netbsd:vpanic+0x1c0
[   1.0000040] fp ffffc00000fe67c0 panic() at ffffc000005e1814 netbsd:panic+0x44
[   1.0000040] fp ffffc00000fe6850 lockdebug_abort1() at ffffc000005d3be4 netbsd:lockdebug_abort1+0xe4
[   1.0000040] fp ffffc00000fe6890 mutex_tryenter() at ffffc0000058a8bc netbsd:mutex_tryenter+0x1ac
[   1.0000040] fp ffffc00000fe68d0 iic_acquire_bus() at ffffc000003b6bd4 netbsd:iic_acquire_bus+0x84
[   1.0000040] fp ffffc00000fe6900 fusbtc_read_reg() at ffffc000003c7b10 netbsd:fusbtc_read_reg+0x20
[   1.0000040] fp ffffc00000fe6940 fusbtc_intr() at ffffc000003c8700 netbsd:fusbtc_intr+0x30
[   1.0000040] fp ffffc00000fe6990 rk_gpio_intr() at ffffc000000486f0 netbsd:rk_gpio_intr+0xd0
[   1.0000040] fp ffffc00000fe69d0 gicv3_fdt_intr() at ffffc00000077fac netbsd:gicv3_fdt_intr+0x1c
[   1.0000040] fp ffffc00000fe6a00 pic_dispatch() at ffffc0000000288c netbsd:pic_dispatch+0x4c
[   1.0000040] fp ffffc00000fe6a50 gicv3_irq_handler() at ffffc00000006fd0 netbsd:gicv3_irq_handler+0x130
[   1.0000040] fp ffffc00000fe6ab0 cpu_irq() at ffffc000000c09a4 netbsd:cpu_irq+0x44
[   1.0000040] tf ffffc00000fe6ad0 el1_trap() at ffffc000000c2f84 netbsd:el1_vectors+0x784

>How-To-Repeat:
boot -current on a rockpro64.
>Fix:
don't do iic_acquire_bus() from a hw interrupt?



Home | Main Index | Thread Index | Old Index