Changeset 45671 in vbox for trunk/src/VBox
- Timestamp:
- Apr 22, 2013 4:06:38 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/USB/DevOHCI.cpp
r45667 r45671 3553 3553 PVUSBURB pUrb; 3554 3554 3555 /* If the HCCA is not currently valid, there's nothing to do. */ 3556 if (!fValidHCCA) 3555 /* If the HCCA is not currently valid, or there are no in-flight URBs, 3556 * there's nothing to do. 3557 */ 3558 if (!fValidHCCA || !pThis->cInFlight) 3557 3559 return; 3558 3560 … … 3591 3593 ohciReadEd(pThis, EdAddr, &Ed); 3592 3594 uint32_t TdAddr = Ed.HeadP & ED_PTR_MASK; 3595 uint32_t TailP = Ed.TailP & ED_PTR_MASK; 3593 3596 unsigned k = 0; 3594 do 3597 if ( !(Ed.hwinfo & ED_HWINFO_SKIP) 3598 && (TdAddr != TailP)) 3595 3599 { 3596 ohciReadTd(pThis, TdAddr, &Td); 3597 j = ohci_in_flight_find(pThis, TdAddr); 3598 if (j > -1) 3599 pThis->aInFlight[j].fInactive = false; 3600 TdAddr = Td.NextTD & ED_PTR_MASK; 3601 /* Failsafe for temporarily looped lists. */ 3602 if (++k == 128) 3603 break; 3604 } while (TdAddr != (Ed.TailP & ED_PTR_MASK)); 3600 do 3601 { 3602 ohciReadTd(pThis, TdAddr, &Td); 3603 j = ohci_in_flight_find(pThis, TdAddr); 3604 if (j > -1) 3605 pThis->aInFlight[j].fInactive = false; 3606 TdAddr = Td.NextTD & ED_PTR_MASK; 3607 /* Failsafe for temporarily looped lists. */ 3608 if (++k == 128) 3609 break; 3610 } while (TdAddr != (Ed.TailP & ED_PTR_MASK)); 3611 } 3605 3612 EdAddr = Ed.NextED & ED_PTR_MASK; 3606 3613 }
Note:
See TracChangeset
for help on using the changeset viewer.