VirtualBox

Changeset 93915 in vbox for trunk/src/VBox/Devices/USB


Ignore:
Timestamp:
Feb 24, 2022 12:30:54 PM (3 years ago)
Author:
vboxsync
Message:

Devices/USB: Convert the HCI emulations to call into the roothub using the devices port instead of using the VUSBIDEVICE interface directly. This will avoid races when devices will get detached unexpectedly while being in use. Also move the device re-attach logic after a saved state operation down to the roothub in order to avoid code duplication, bugref:10196 [doxygen fixes]

File:
1 edited

Legend:

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

    r93914 r93915  
    11321132
    11331133
    1134 /** @interface_method_impl{VUSBIROOTHUBCONNECTOR,pfnIsSavedStateSupported} */
     1134/** @interface_method_impl{VUSBIROOTHUBCONNECTOR,pfnDevIsSavedStateSupported} */
    11351135static DECLCALLBACK(bool) vusbR3RhDevIsSavedStateSupported(PVUSBIROOTHUBCONNECTOR pInterface, uint32_t uPort)
    11361136{
     
    11911191
    11921192/**
    1193  * @callback_method_impl{FNSSMDEVSAVEPREP, All URBs needs to be canceled.}
     1193 * @callback_method_impl{FNSSMDRVSAVEPREP, All URBs needs to be canceled.}
    11941194 */
    11951195static DECLCALLBACK(int) vusbR3RhSavePrep(PPDMDRVINS pDrvIns, PSSMHANDLE pSSM)
     
    12431243
    12441244/**
    1245  * @callback_method_impl{FNSSMDEVSAVEDONE}
     1245 * @callback_method_impl{FNSSMDRVSAVEDONE}
    12461246 */
    12471247static DECLCALLBACK(int) vusbR3RhSaveDone(PPDMDRVINS pDrvIns, PSSMHANDLE pSSM)
     
    12791279
    12801280/**
    1281  * @callback_method_impl{FNSSMDEVLOADPREP, This must detach the devices
     1281 * @callback_method_impl{FNSSMDRVLOADPREP, This must detach the devices
    12821282 * currently attached and save them for reconnect after the state load has been
    12831283 * completed.}
     
    13571357
    13581358/**
    1359  * @callback_method_impl{FNSSMDEVLOADDONE}
     1359 * @callback_method_impl{FNSSMDRVLOADDONE}
    13601360 */
    13611361static DECLCALLBACK(int) vusbR3RhLoadDone(PPDMDRVINS pDrvIns, PSSMHANDLE pSSM)
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