func: static TRBCCode xhci_configure_slot(XHCIState *xhci, unsigned int uint64_t pictx, bool dc) uint32_t ictl_ctx [ 2 ] ; uint32_t slot_ctx [ 4 ] ; if ( dc )  if ( ( ictl_ctx [ 0 ] & 0x3 ) != 0x0 || ( ictl_ctx [ 1 ] & 0x3 ) != 0x1 )  if ( SLOT_STATE ( slot_ctx [ 3 ] ) < SLOT_ADDRESSED )  xhci_free_device_streams ( xhci , slotid , ictl_ctx [ 0 ] | ictl_ctx [ 1 ] ); static void xhci_free_device_streams(XHCIState *xhci, unsigned int uint32_t epmask) USBEndpoint * eps [ 30 ] ; int nr_eps ; nr_eps = xhci_epmask_to_eps_with_streams ( xhci , slotid , epmask , NULL , eps ); static int xhci_epmask_to_eps_with_streams(XHCIState unsigned int uint32_t XHCIEPContext USBEndpoint **eps) XHCISlot * slot ; XHCIEPContext * epctx ; USBEndpoint * ep ; int i , j ; slot = & xhci -> slots [ slotid - 1 ]; for (i = 2, j = 0; i <= 31; i++) if ( ! ( epmask & ( 1u << i ) ) )  epctx = slot -> eps [ i - 1 ]; ep = xhci_epid_to_usbep ( xhci , slotid , i ); if ( ! epctx || ! epctx -> nr_pstreams || ! ep )  static USBEndpoint *xhci_epid_to_usbep(XHCIState unsigned int slotid, unsigned int epid) assert ( slotid >= 1 && slotid <= xhci -> numslots ); 