- Timestamp:
- Apr 12, 2024 7:31:39 AM (10 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/USB/DrvVUSBRootHub.cpp
r104125 r104303 1123 1123 PVUSBDEV pDev = vusbR3RhGetVUsbDevByPortRetain(pRh, uPort, "vusbRhAbortEpByPort"); 1124 1124 1125 /* We expect to be called from a device like xHCI which keeps good track 1126 * of device <--> port correspondence. Being called for a nonexistent 1127 * device is an error. 1128 */ 1129 AssertPtrReturn(pDev, VERR_INVALID_PARAMETER); 1130 1125 1131 if (pDev->pHub != pRh) 1126 1132 AssertFailedReturn(VERR_INVALID_PARAMETER); … … 1140 1146 PVUSBROOTHUB pRh = VUSBIROOTHUBCONNECTOR_2_VUSBROOTHUB(pInterface); 1141 1147 PVUSBDEV pDev = vusbR3RhGetVUsbDevByAddrRetain(pRh, DstAddress, "vusbRhAbortEpByAddr"); 1148 1149 /* We expect to be called from a device like OHCI which does not 1150 * keep track of device <--> address correspondence and may try to 1151 * cancel an address that does not correspond to a device. If there's 1152 * no device, just do nothing. 1153 */ 1154 if (!pDev) 1155 return VINF_SUCCESS; 1142 1156 1143 1157 if (pDev->pHub != pRh) … … 1235 1249 PVUSBROOTHUB pRh = VUSBIROOTHUBCONNECTOR_2_VUSBROOTHUB(pInterface); 1236 1250 AssertReturn(pRh, 0); 1237 PVUSBDEV pDev = vusbR3RhGetVUsbDevByPortRetain(pRh, uPort, "vusbRhUpdateIsocFrameDelta"); AssertPtr(pDev); 1251 PVUSBDEV pDev = vusbR3RhGetVUsbDevByPortRetain(pRh, uPort, "vusbRhUpdateIsocFrameDelta"); 1252 AssertPtrReturn(pDev, 0); 1238 1253 PVUSBPIPE pPipe = &pDev->aPipes[EndPt]; 1239 1254 uint32_t *puLastFrame; … … 1272 1287 PVUSBROOTHUB pThis = VUSBIROOTHUBCONNECTOR_2_VUSBROOTHUB(pInterface); 1273 1288 PVUSBDEV pDev = vusbR3RhGetVUsbDevByPortRetain(pThis, uPort, "vusbR3RhDevPowerOn"); 1274 AssertPtr (pDev);1289 AssertPtrReturn(pDev, VERR_VUSB_DEVICE_NOT_ATTACHED); 1275 1290 1276 1291 int rc = VUSBIDevPowerOn(&pDev->IDevice); … … 1285 1300 PVUSBROOTHUB pThis = VUSBIROOTHUBCONNECTOR_2_VUSBROOTHUB(pInterface); 1286 1301 PVUSBDEV pDev = vusbR3RhGetVUsbDevByPortRetain(pThis, uPort, "vusbR3RhDevPowerOff"); 1287 AssertPtr (pDev);1302 AssertPtrReturn(pDev, VERR_VUSB_DEVICE_NOT_ATTACHED); 1288 1303 1289 1304 int rc = VUSBIDevPowerOff(&pDev->IDevice); … … 1298 1313 PVUSBROOTHUB pThis = VUSBIROOTHUBCONNECTOR_2_VUSBROOTHUB(pInterface); 1299 1314 PVUSBDEV pDev = vusbR3RhGetVUsbDevByPortRetain(pThis, uPort, "vusbR3RhDevGetState"); 1300 AssertPtr (pDev);1315 AssertPtrReturn(pDev, VUSB_DEVICE_STATE_DETACHED); 1301 1316 1302 1317 VUSBDEVICESTATE enmState = VUSBIDevGetState(&pDev->IDevice); … … 1311 1326 PVUSBROOTHUB pThis = VUSBIROOTHUBCONNECTOR_2_VUSBROOTHUB(pInterface); 1312 1327 PVUSBDEV pDev = vusbR3RhGetVUsbDevByPortRetain(pThis, uPort, "vusbR3RhDevIsSavedStateSupported"); 1313 AssertPtr (pDev);1328 AssertPtrReturn(pDev, false); 1314 1329 1315 1330 bool fSavedStateSupported = VUSBIDevIsSavedStateSupported(&pDev->IDevice); … … 1324 1339 PVUSBROOTHUB pThis = VUSBIROOTHUBCONNECTOR_2_VUSBROOTHUB(pInterface); 1325 1340 PVUSBDEV pDev = vusbR3RhGetVUsbDevByPortRetain(pThis, uPort, "vusbR3RhDevGetSpeed"); 1326 AssertPtr (pDev);1341 AssertPtrReturn(pDev, VUSB_SPEED_UNKNOWN); 1327 1342 1328 1343 VUSBSPEED enmSpeed = pDev->IDevice.pfnGetSpeed(&pDev->IDevice);
Note:
See TracChangeset
for help on using the changeset viewer.