> >Synopsis: kernel panic: cpu0: _dmamap_sync: ran off map!
Does this diff help? It looks to me that the offset being already taken
care of in ehci_alloc_sqh() when computing the physaddr field, it should
not be applied to the offs field either.
Index: ehci.c
===================================================================
RCS file: /OpenBSD/src/sys/dev/usb/ehci.c,v
diff -u -p -r1.222 ehci.c
--- ehci.c 11 Oct 2024 09:55:24 -0000 1.222
+++ ehci.c 2 Feb 2025 16:36:40 -0000
@@ -2268,7 +2268,7 @@ ehci_alloc_sqh(struct ehci_softc *sc)
sqh = KERNADDR(&dma, offs);
sqh->physaddr = DMAADDR(&dma, offs);
sqh->dma = dma;
- sqh->offs = offs;
+ sqh->offs = 0;
sqh->next = sc->sc_freeqhs;
sc->sc_freeqhs = sqh;
}