> >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;
                }

Reply via email to