diff --git a/devicemodel/hw/pci/xhci.c b/devicemodel/hw/pci/xhci.c index fb1e22edc..75623d523 100644 --- a/devicemodel/hw/pci/xhci.c +++ b/devicemodel/hw/pci/xhci.c @@ -2423,6 +2423,11 @@ pci_xhci_cmd_set_tr(struct pci_xhci_vdev *xdev, cmderr = XHCI_TRB_ERROR_SUCCESS; dev = XHCI_SLOTDEV_PTR(xdev, slot); + if (!dev) { + UPRINTF(LDBG, "%s slot is not enabled!\r\n", __func__); + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } UPRINTF(LDBG, "set_tr: new-tr x%016lx, SCT %u DCS %u\r\n" " stream-id %u, slot %u, epid %u, C %u\r\n", (trb->qwTrb0 & ~0xF), (uint32_t)((trb->qwTrb0 >> 1) & 0x7),