VirtualBox

Changeset 37469 in vbox


Ignore:
Timestamp:
Jun 15, 2011 2:29:25 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
72285
Message:

USB/Dev*: Locking fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/USB/DevOHCI.cpp

    r35353 r37469  
    873873
    874874    memset(pAvailable, 0, sizeof(*pAvailable));
     875
     876    PDMCritSectEnter(pOhci->pDevInsR3->pCritSectRoR3, VERR_IGNORED);
    875877    for (iPort = 0; iPort < RT_ELEMENTS(pOhci->RootHub.aPorts); iPort++)
    876878    {
     
    881883        }
    882884    }
     885    PDMCritSectLeave(pOhci->pDevInsR3->pCritSectRoR3);
    883886
    884887    return cPorts;
     
    909912    POHCI pOhci = VUSBIROOTHUBPORT_2_OHCI(pInterface);
    910913    LogFlow(("ohciRhAttach: pDev=%p uPort=%u\n", pDev, uPort));
     914    PDMCritSectEnter(pOhci->pDevInsR3->pCritSectRoR3, VERR_IGNORED);
    911915
    912916    /*
     
    927931    ohciSetInterrupt(pOhci, OHCI_INTR_ROOT_HUB_STATUS_CHANGE);
    928932
     933    PDMCritSectLeave(pOhci->pDevInsR3->pCritSectRoR3);
    929934    return VINF_SUCCESS;
    930935}
     
    942947    POHCI pOhci = VUSBIROOTHUBPORT_2_OHCI(pInterface);
    943948    LogFlow(("ohciRhDetach: pDev=%p uPort=%u\n", pDev, uPort));
     949    PDMCritSectEnter(pOhci->pDevInsR3->pCritSectRoR3, VERR_IGNORED);
    944950
    945951    /*
     
    961967    ohci_remote_wakeup(pOhci);
    962968    ohciSetInterrupt(pOhci, OHCI_INTR_ROOT_HUB_STATUS_CHANGE);
     969
     970    PDMCritSectLeave(pOhci->pDevInsR3->pCritSectRoR3);
    963971}
    964972
     
    9981006{
    9991007    POHCI pOhci = VUSBIROOTHUBPORT_2_OHCI(pInterface);
     1008    PDMCritSectEnter(pOhci->pDevInsR3->pCritSectRoR3, VERR_IGNORED);
    10001009
    10011010    pOhci->RootHub.status = 0;
     
    10301039    }
    10311040
     1041    PDMCritSectLeave(pOhci->pDevInsR3->pCritSectRoR3);
    10321042    return VINF_SUCCESS;
    10331043}
     
    24022412    LogFlow(("%s: ohciRhXferCompletion: EdAddr=%#010RX32 cTds=%d TdAddr0=%#010RX32\n",
    24032413             pUrb->pszDesc, pUrb->Hci.EdAddr, pUrb->Hci.cTds, pUrb->Hci.paTds[0].TdAddr));
     2414    Assert(PDMCritSectIsOwner(pOhci->pDevInsR3->pCritSectRoR3));
    24042415
    24052416    pOhci->fIdle = false;   /* Mark as active */
     
    24762487{
    24772488    POHCI pOhci = VUSBIROOTHUBPORT_2_OHCI(pInterface);
     2489    Assert(PDMCritSectIsOwner(pOhci->pDevInsR3->pCritSectRoR3));
    24782490
    24792491    /*
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette