Lines Matching defs:urb
41 UsbAdapterUrb urb;
77 static bool UsbFindUrb(const struct Async *urb, struct DListHead *list)
87 if (asPos == urb) {
95 static void OsUrbComplete(UsbAdapterUrb *urb)
98 struct Async *as = CONTAINER_OF(urb, struct Async, urb);
120 static int32_t OsSubmitUrb(UsbAdapterUrb *urb, UsbAdapterDevice *adapterDevice, UsbAdapterHostEndpoint *uhe)
124 if ((uhe == NULL) || (urb == NULL) || (adapterDevice == NULL)) {
134 err = usb_submit_urb(urb, 0);
138 static int32_t OsControlMsg(UsbAdapterUrb *urb)
141 UsbAdapterDevice *adapterDevice = urb->dev;
142 void *buffer = urb->transfer_buffer;
152 adapterDevice, NULL, &req, (char *)buffer + sizeof(req), USB_SHORT_XFER_OK, &actLen, urb->timeout);
156 urb->actual_length = actLen;
157 if (urb->complete) {
158 (urb->complete)(urb);
174 static int32_t OsReapUrb(const struct UsbDeviceHandle *handle, struct Async **urb)
196 *urb = as;
449 struct Async *urb = NULL;
452 urb = request->isoUrbs[i];
453 if (urb == NULL) {
456 RawUsbMemFree(urb);
466 UsbAdapterUrb *urb = NULL;
484 urb = &as->urb;
486 DPRINTFN(0, "usb kill urb\n");
487 usb_kill_urb(urb);
498 UsbAdapterUrb *urb = NULL;
523 urb = &as->urb;
524 ret = memset_s(urb, sizeof(*urb), 0, sizeof(*urb));
530 urb->dev = (UsbAdapterDevice *)adapterDevice;
531 urb->endpoint = uhe;
532 urb->timeout = 500;
533 urb->transfer_buffer = request->buffer;
534 urb->context = (void *)request;
535 urb->complete = OsUrbComplete;
536 ret = OsControlMsg(urb);
570 UsbAdapterUrb *urb = NULL;
577 urb = &pas->urb;
578 urb->context = (void *)request;
583 urb->interval = 50;
589 urb->transfer_buffer = request->buffer + (number * bulkBufferLen);
590 urb->complete = OsUrbComplete;
593 urb->transfer_buffer_length = (len == 0) ? (uint32_t)bulkBufferLen : len;
595 urb->transfer_buffer_length = (uint32_t)bulkBufferLen;
609 UsbAdapterUrb *urb = NULL;
619 urb = &pas->urb;
620 int32_t ret = memset_s(urb, sizeof(*urb), 0, sizeof(*urb));
633 urb->dev = adapterDevice;
634 urb->endpoint = uhe;
636 ret = OsSubmitUrb(urb, urb->dev, urb->endpoint);
641 DPRINTFN(0, "the first urb failed\n");
725 UsbAdapterUrb *urb = NULL;
733 urb = &as->urb;
736 urb->transfer_buffer_length += packetLen;
737 urb->iso_frame_desc[j].length = packetLen;
739 urb->endpoint = uhe;
740 urb->number_of_packets = (unsigned int)numPackets;
741 urb->transfer_buffer = urbBuffer;
742 urb->context = request;
743 urbBuffer += urb->transfer_buffer_length;
753 UsbAdapterUrb *urb = &(pUrbs[i]->urb);
754 int32_t ret = OsSubmitUrb(urb, urb->dev, urb->endpoint);
763 DPRINTFN(0, "%s:%d submit iso urb failed errno=%d\n", __func__, __LINE__, errno);
837 UsbAdapterUrb *urb = &as->urb;
841 request->actualLength += (int)urb->actual_length;
848 switch (urb->status) {
860 DPRINTFN(0, "%s:%d overflow actualLength=%d\n", __func__, __LINE__, urb->actual_length);
869 DPRINTFN(0, "%s:%d urb status=%d\n", __func__, __LINE__, urb->status);
878 static void OsIsoRequestDesStatus(struct UsbHostRequest *request, UsbAdapterUrb *urb)
884 for (i = 0; i < urb->number_of_packets; i++) {
885 urbDesc = &urb->iso_frame_desc[i];
906 DPRINTFN(0, "%s:%d urb status=%d-%d\n", __func__, __LINE__, i, urbDesc->status);
917 UsbAdapterUrb *urb = &as->urb;
927 if (urb == request->isoUrbs[i]) {
938 OsIsoRequestDesStatus(request, urb);
950 if (urb->status == -ESHUTDOWN) {
952 } else if (!((urb->status == HDF_SUCCESS) || (urb->status == -ENOENT) || (urb->status == -ECONNRESET))) {
967 static int32_t OsProcessAbnormalReap(struct UsbHostRequest *request, const UsbAdapterUrb *urb)
969 if (urb->actual_length > 0) {
971 if (urb->transfer_buffer != target) {
972 if (memmove_s(target, urb->actual_length, urb->transfer_buffer, urb->actual_length) != EOK) {
976 request->actualLength += urb->actual_length;
985 static int32_t OsUrbStatusToRequestStatus(struct UsbHostRequest *request, const UsbAdapterUrb *urb)
989 switch (urb->status) {
1005 DPRINTFN(0, "%s:%d overflow error, actualLength=%d\n", __func__, __LINE__, urb->actual_length);
1018 DPRINTFN(0, "unknown urb status %d\n", urb->status);
1033 const UsbAdapterUrb *urb = &as->urb;
1038 if (OsProcessAbnormalReap(request, urb) == HDF_SUCCESS) {
1044 request->actualLength += urb->actual_length;
1045 ret = OsUrbStatusToRequestStatus(request, urb);
1054 } else if (urb->actual_length < urb->transfer_buffer_length) {
1375 DPRINTFN(0, "adapter cancel urb null\n");
1389 UsbAdapterUrb *urb = NULL;
1403 urb = &as->urb;
1404 request = urb->context;