diff --git a/usr.sbin/bhyve/pci_xhci.c b/usr.sbin/bhyve/pci_xhci.c --- a/usr.sbin/bhyve/pci_xhci.c +++ b/usr.sbin/bhyve/pci_xhci.c @@ -2130,6 +2130,7 @@ static uint64_t pci_xhci_portregs_read(struct pci_xhci_softc *sc, uint64_t offset) { + struct pci_xhci_portregs *portregs; int port; uint32_t *p; @@ -2148,7 +2149,8 @@ offset = (offset - 0x3F0) % 0x10; - p = &sc->portregs[port].portsc; + portregs = XHCI_PORTREG_PTR(sc, port); + p = &portregs->portsc; p += offset / sizeof(uint32_t); DPRINTF(("pci_xhci: portregs read offset 0x%lx port %u -> 0x%x",