third_party/virtualbox/src/VBox/Devices/USB/VUSBUrb.cpp
/**
 * Deal with URB errors, talking thru the RH to the HCI.
 *
 * @returns true if it could be retried.
 * @returns false if it should be completed with failure.
 * @param   pUrb    The URB in question.
 */
Deal with URB errors, talking thru the RH to the HCI.
@returns true if it could be retried.
@returns false if it should be completed with failure.
@param   pUrb    The URB in question.
Deal with URB errors talking thru the RH to the HCI . @returns true if it could be retried . @returns false if it should be completed with failure . @param pUrb The URB in question .
int vusbUrbErrorRh(PVUSBURB pUrb)
{
    PVUSBDEV pDev = pUrb->pVUsb->pDev;
    PVUSBROOTHUB pRh = vusbDevGetRh(pDev);
    AssertPtrReturn(pRh, VERR_VUSB_DEVICE_NOT_ATTACHED);
    LogFlow(("%s: vusbUrbErrorRh: pDev=%p[%s] rh=%p\n", pUrb->pszDesc, pDev, pDev->pUsbIns ? pDev->pUsbIns->pszName : "", pRh));
    return pRh->pIRhPort->pfnXferError(pRh->pIRhPort, pUrb);
}
int vusbUrbErrorRh ( PVUSBURB pUrb ) { PVUSBDEV pDev = pUrb -> pVUsb -> pDev ; PVUSBROOTHUB pRh = vusbDevGetRh ( pDev ) ; AssertPtrReturn ( pRh , VERR_VUSB_DEVICE_NOT_ATTACHED ) ; LogFlow ( ( " \n " , pUrb -> pszDesc , pDev , pDev -> pUsbIns ? pDev -> pUsbIns -> pszName : " " , pRh ) ) ; return pRh -> pIRhPort -> pfnXferError ( pRh -> pIRhPort , pUrb ) ; }
Deal with URB errors, talking thru the RH to the HCI.
Deal with URB errors talking thru the RH to the HCI .