Lines Matching refs:pDev

229  * @param   pDev        The device to attach.
232 static int vusbHubAttach(PVUSBHUB pHub, PVUSBDEV pDev)
234 LogFlow(("vusbHubAttach: pHub=%p[%s] pDev=%p[%s]\n", pHub, pHub->pszName, pDev, pDev->pUsbIns->pszName));
235 AssertMsg(pDev->enmState == VUSB_DEVICE_STATE_DETACHED, ("enmState=%d\n", pDev->enmState));
237 pDev->pHub = pHub;
238 pDev->enmState = VUSB_DEVICE_STATE_ATTACHED;
241 vusbDevMapEndpoint(pDev, &g_Endpoint0);
242 vusbDevDoSelectConfig(pDev, &g_Config0);
244 int rc = pHub->pOps->pfnAttach(pHub, pDev);
247 pDev->pHub = NULL;
248 pDev->enmState = VUSB_DEVICE_STATE_DETACHED;
264 PVUSBDEV pDev = (PVUSBDEV)RTMemAllocZ(sizeof(*pDev));
265 AssertReturn(pDev, VERR_NO_MEMORY);
266 int rc = vusbDevInit(pDev, pUsbIns, pszCaptureFilename);
269 pUsbIns->pvVUsbDev2 = pDev;
270 rc = vusbHubAttach(&pThis->Hub, pDev);
277 RTMemFree(pDev->paIfStates);
280 RTMemFree(pDev);
288 PVUSBDEV pDev = (PVUSBDEV)pUsbIns->pvVUsbDev2;
289 Assert(pDev);
290 vusbDevDestroy(pDev);
291 RTMemFree(pDev);
322 for (PVUSBDEV pDev = pRh->apAddrHash[iHash]; pDev; pDev = pDev->pNextHash)
323 if (pDev->u8Address == Address)
324 return pDev;
436 pUrb->VUsb.pDev = vusbRhFindDevByAddress(pRh, DstAddress);
444 pUrb->pUsbIns = pUrb->VUsb.pDev ? pUrb->VUsb.pDev->pUsbIns : NULL;
514 if ( pUrb->VUsb.pDev
542 pUrb->VUsb.pDev = &pRh->Hub.Dev;
556 static DECLCALLBACK(int) vusbRhReapAsyncUrbsWorker(PVUSBDEV pDev, RTMSINTERVAL cMillies)
559 vusbUrbDoReapAsync(pDev->pAsyncUrbHead, 0);
565 vusbUrbDoReapAsync(pDev->pAsyncUrbHead, RT_MIN(cMillies >> 8, 10));
566 } while ( pDev->pAsyncUrbHead
577 PVUSBDEV pDev = (PVUSBDEV)pDevice;
579 if (!pDev->pAsyncUrbHead)
583 int rc = vusbDevIoThreadExecSync(pDev, (PFNRT)vusbRhReapAsyncUrbsWorker, 2, pDev, cMillies);
613 * @param pDev USB device instance data.
615 static DECLCALLBACK(int) vusbRhCancelAllUrbsWorker(PVUSBDEV pDev)
624 PVUSBURB pUrb = pDev->pAsyncUrbHead;
643 PVUSBDEV pDev = pRh->pDevices;
644 while (pDev)
646 vusbDevIoThreadExecSync(pDev, (PFNRT)vusbRhCancelAllUrbsWorker, 1, pDev);
647 pDev = pDev->pNext;
657 * @param pDev USB device instance data.
661 static DECLCALLBACK(int) vusbRhAbortEpWorker(PVUSBDEV pDev, int EndPt, VUSBDIRECTION enmDir)
666 PVUSBURB pUrb = pDev->pAsyncUrbHead;
671 Assert(pUrb->VUsb.pDev == pDev);
694 PVUSBDEV pDev = (PVUSBDEV)pDevice;
695 vusbDevIoThreadExecSync(pDev, (PFNRT)vusbRhAbortEpWorker, 3, pDev, EndPt, enmDir);
770 PVUSBDEV pDev = pRh->pDevices;
771 while (pDev)
773 VUSBIRhReapAsyncUrbs(&pRh->IRhConnector, (PVUSBIDEVICE)pDev, 0);
774 pDev = pDev->pNext;
803 * @param pDev Pointer to the device.
805 static int vusbRhHubOpAttach(PVUSBHUB pHub, PVUSBDEV pDev)
820 pDev->i16Port = iPort;
826 int rc = pRh->pIRhPort->pfnAttach(pRh->pIRhPort, &pDev->IDevice, iPort);
830 pDev->pNext = pRh->pDevices;
831 pRh->pDevices = pDev;
833 LogRel(("VUSB: Attached '%s' to port %d\n", pDev->pUsbIns->pszName, iPort));
839 pDev->i16Port = -1;
840 LogRel(("VUSB: Failed to attach '%s' to port %d, rc=%Rrc\n", pDev->pUsbIns->pszName, iPort, rc));
851 * @param pDev Pointer to the device.
853 static void vusbRhHubOpDetach(PVUSBHUB pHub, PVUSBDEV pDev)
856 Assert(pDev->i16Port != -1);
862 if (pRh->pDevices != pDev)
865 while (pPrev && pPrev->pNext != pDev)
868 pPrev->pNext = pDev->pNext;
871 pRh->pDevices = pDev->pNext;
872 pDev->pNext = NULL;
878 unsigned uPort = pDev->i16Port;
879 pRh->pIRhPort->pfnDetach(pRh->pIRhPort, &pDev->IDevice, uPort);
880 LogRel(("VUSB: Detached '%s' from port %u\n", pDev->pUsbIns->pszName, uPort));