+ tUSBHost *host;
+ tUSBEndpoint *ep;
+ void *dest_hdl;
+ ENTER("pDev iEndpoint iLength pData", Dev, Endpoint, Length, Data);
+
+ host = Dev->Dev->Host;
+ ep = &Dev->Endpoints[Endpoint-1];
+ dest_hdl = Dev->Dev->EndpointHandles[ep->EndpointNum];
+ LOG("dest_hdl = %p", dest_hdl);
+ if( !dest_hdl ) {
+ Log_Notice("USB", "_SendData on uninitialised enpoint (%p#%i)", Dev->Dev, ep->EndpointNum);
+ LEAVE('-');
+ return;
+ }
+
+ Threads_ClearEvent(THREAD_EVENT_SHORTWAIT);
+ host->HostDef->SendBulk(host->Ptr, dest_hdl, USB_WakeCallback, Proc_GetCurThread(), 1, (void*)Data, Length);
+ Threads_WaitEvents(THREAD_EVENT_SHORTWAIT);
+
+ LEAVE('-');