> Date: Sat, 1 Feb 2025 14:56:53 +0000 > From: Lucas Gabriel Vuotto <lu...@sexy.is> > > >Synopsis: kernel panic: cpu0: _dmamap_sync: ran off map! > >Category: kernel riscv64 > >Environment: > System : OpenBSD 7.6 > Details : OpenBSD 7.6-current (GENERIC) #140: Fri Jan 31 06:08:51 > MST 2025 > > dera...@riscv64.openbsd.org:/usr/src/sys/arch/riscv64/compile/GENERIC > > Architecture: OpenBSD.riscv64 > Machine : riscv64 > >Description: > I run into a kernel panic when booting my board with an usb wifi > dongle attached. > > ddb> show panic > *cpu0: _dmamap_sync: ran off map! > ddb> bt > panic() at panic+0xfe > _dmamem_alloc() at _dmamem_alloc > ehci_idone() at ehci_idone+0x17e > ehci_softintr() at ehci_softintr+0xfe > softintr_dispatch() at softintr_dispatch+0x76 > riscv_do_pending_intr() at riscv_do_pending_intr+0x94 > plic_irq_dispatch() at plic_irq_dispatch+0xde > plic_irq_handler() at plic_irq_handler+0x3e > riscv_cpu_intr() at riscv_cpu_intr+0x20 > cpu_exception_handler_supervisor() at cpu_exception_handler_supervisor+0x7a > uvn_io() at uvn_io+0xec > uvm_fault_lower_io() at uvm_fault_lower_io+0x178 > uvm_fault_lower() at uvm_fault_lower+0xbe > uvm_fault() at uvm_fault+0xfc > do_trap_user() at do_trap_user+0x112 > cpu_exception_handler_user() at cpu_exception_handler_user+0x7c > end of kernel > end trace frame: 0x4b8828e0, count: -16
This basically means the bus_dmamap_sync() call (called from usb_dmasync()) in ehci_idone() is syncing more memory than was mapped using bus_dmamap_load(). Could be a bug in ehci(4) or the usb wifi driver.