On Sat, Feb 01, 2025 at 05:01:58PM GMT, Mark Kettenis wrote: > > Date: Sat, 1 Feb 2025 14:56:53 +0000 > > From: Lucas Gabriel Vuotto <[email protected]> > > > > >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 > > > > [email protected]:/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.
I can't reproduce the issue on a amd64 ehci machine with urtwn attached during boot. Maybe something specific to riscv64 which triggers this?
