Hi HPS, I think that UPS_PORT_POWER and UPS_PORT_LINK_STATE overlap. And, in xhci.c you set UPS_PORT_POWER as folows. When UPS_PORT_POWER is set, UPS_PORT_LINK_STATE_GET() macro will return incorrect value. if (v & XHCI_PS_PP) { /* * The USB 3.0 RH is using the * USB 2.0's power bit */ i |= UPS_PORT_POWER; } Regards, Kohji Okuno