Changeset 81186 in vbox
- Timestamp:
- Oct 9, 2019 2:01:16 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/USB/DevOHCI.cpp
r81031 r81186 1193 1193 */ 1194 1194 pThis->RootHub.pIRhConn->pfnCancelAllUrbs(pThis->RootHub.pIRhConn); 1195 Assert(pThis->cInFlight == 0); 1195 1196 1196 1197 /* … … 2812 2813 ohciR3Lock(pThis); 2813 2814 2814 /* Do nothing if the HC encountered an unrecoverable error. */ 2815 int cFmAge = ohciR3InFlightRemoveUrb(pThis, pUrb); 2816 2817 /* Do nothing requiring memory access if the HC encountered an unrecoverable error. */ 2815 2818 if (!(pThis->intr_status & OHCI_INTR_UNRECOVERABLE_ERROR)) 2816 2819 { … … 2831 2834 * with the data copying, buffer pointer advancing and error handling. 2832 2835 */ 2833 int cFmAge = ohciR3InFlightRemoveUrb(pThis, pUrb);2834 2836 if (pUrb->enmStatus == VUSBSTATUS_UNDO) 2835 2837 { … … 3046 3048 Log(("ohciR3ServiceTd: failed submitting TdAddr=%#010x EdAddr=%#010x pUrb=%p!!\n", 3047 3049 TdAddr, EdAddr, pUrb)); 3050 ohciR3InFlightRemove(pThis, TdAddr); 3048 3051 VUSBIRhFreeUrb(pThis->RootHub.pIRhConn, pUrb); 3049 ohciR3InFlightRemove(pThis, TdAddr);3050 3052 return false; 3051 3053 } … … 3216 3218 Log(("ohciR3ServiceTdMultiple: failed submitting pUrb=%p cbData=%#x EdAddr=%#010x cTds=%d TdAddr0=%#010x - rc=%Rrc\n", 3217 3219 pUrb, cbTotal, EdAddr, cTds, TdAddr, rc)); 3218 for (struct OHCITDENTRY *pCur = &Head; pCur; pCur = pCur->pNext, iTd++) 3219 ohciR3InFlightRemove(pThis, pCur->TdAddr); 3220 ohciR3InFlightRemoveUrb(pThis, pUrb); 3220 3221 VUSBIRhFreeUrb(pThis->RootHub.pIRhConn, pUrb); 3221 3222 return false; … … 3448 3449 * Submit the URB. 3449 3450 */ 3450 ohciR3InFlightAdd Urb(pThis, pUrb);3451 ohciR3InFlightAdd(pThis, ITdAddr, pUrb); 3451 3452 Log(("%s: ohciR3ServiceIsochronousTd: submitting cbData=%#x cIsocPkts=%d EdAddr=%#010x TdAddr=%#010x SF=%#x (%#x)\n", 3452 3453 pUrb->pszDesc, pUrb->cbData, pUrb->cIsocPkts, EdAddr, ITdAddr, pITd->HwInfo & ITD_HWINFO_SF, pThis->HcFmNumber)); … … 3640 3641 { 3641 3642 OHCIED Ed; 3643 3644 /* Bail if previous processing ended up in the unrecoverable error state. */ 3645 if (pThis->intr_status & OHCI_INTR_UNRECOVERABLE_ERROR) 3646 break; 3647 3642 3648 ohciR3ReadEd(pThis, EdAddr, &Ed); 3643 3649 Assert(!(Ed.hwinfo & ED_HWINFO_ISO)); /* the guest is screwing us */ … … 3781 3787 { 3782 3788 OHCIED Ed; 3789 3790 /* Bail if previous processing ended up in the unrecoverable error state. */ 3791 if (pThis->intr_status & OHCI_INTR_UNRECOVERABLE_ERROR) 3792 break; 3793 3783 3794 ohciR3ReadEd(pThis, EdAddr, &Ed); 3784 3795 Assert(!(Ed.hwinfo & ED_HWINFO_ISO)); /* the guest is screwing us */ … … 3852 3863 { 3853 3864 OHCIED Ed; 3865 3866 /* Bail if previous processing ended up in the unrecoverable error state. */ 3867 if (pThis->intr_status & OHCI_INTR_UNRECOVERABLE_ERROR) 3868 break; 3854 3869 3855 3870 ohciR3ReadEd(pThis, EdAddr, &Ed);
Note:
See TracChangeset
for help on using the changeset viewer.