Lines Matching refs:req

60         struct UsbFnRequest *req = NULL;
65 req = DLIST_FIRST_ENTRY(pool, struct UsbFnRequest, list);
67 len = DataFifoRead(&port->writeFifo, req->buf, port->ecm->dataInPipe.maxPacketSize);
72 req->length = len;
73 DListRemove(&req->list);
75 int32_t ret = UsbFnSubmitRequestAsync(req);
79 DListInsertTail(&req->list, pool);
97 struct UsbFnRequest *req = NULL;
104 req = DLIST_FIRST_ENTRY(pool, struct UsbFnRequest, list);
105 DListRemove(&req->list);
106 req->length = out->maxPacketSize;
107 ret = UsbFnSubmitRequestAsync(req);
110 DListInsertTail(&req->list, pool);
128 struct UsbFnRequest *req;
130 req = DLIST_FIRST_ENTRY(queue, struct UsbFnRequest, list);
131 switch (req->status) {
139 HDF_LOGV("%{public}s: unexpected status %{public}d", __func__, req->status);
142 if (req->actual && req->status == 0) {
143 uint32_t size = req->actual;
144 uint8_t *data = req->buf;
155 DListRemove(&req->list);
156 DListInsertTail(&req->list, &port->readPool);
167 struct UsbFnRequest *req = NULL;
169 req = DLIST_FIRST_ENTRY(head, struct UsbFnRequest, list);
170 DListRemove(&req->list);
171 (void)UsbFnFreeRequest(req);
178 static void UsbEcmReadComplete(uint8_t pipe, struct UsbFnRequest *req)
180 struct UsbEcm *port = (struct UsbEcm *)req->context;
182 DListInsertTail(&req->list, &port->readQueue);
187 static void UsbEcmWriteComplete(uint8_t pipe, struct UsbFnRequest *req)
189 struct UsbEcm *port = (struct UsbEcm *)req->context;
191 DListInsertTail(&req->list, &port->writePool);
194 switch (req->status) {
202 HDF_LOGV("%{public}s: unexpected status %{public}d", __func__, req->status);
212 struct UsbFnRequest *req = NULL;
216 req = UsbFnAllocRequest(ecm->dataIface.handle, ecm->dataOutPipe.id, ecm->dataOutPipe.maxPacketSize);
217 if (!req) {
221 req->complete = UsbEcmReadComplete;
222 req->context = port;
223 DListInsertTail(&req->list, head);
233 struct UsbFnRequest *req = NULL;
237 req = UsbFnAllocRequest(ecm->dataIface.handle, ecm->dataInPipe.id, ecm->dataInPipe.maxPacketSize);
238 if (!req) {
242 req->complete = UsbEcmWriteComplete;
243 req->context = port;
244 DListInsertTail(&req->list, head);
430 void UsbFnNotifyRequest(struct UsbFnRequest *req, struct UsbEcmDevice *ecm)
434 status = UsbFnSubmitRequestAsync(req);
436 ecm->notifyReq = req;
443 struct UsbFnRequest *req = ecm->notifyReq;
447 if (!req) {
451 event = (struct UsbCdcNotification *)req->buf;
467 req->length = sizeof(*event);
477 req->length = ECM_STATUS_BYTECOUNT;
480 data = (uint32_t *)((char *)req->buf + sizeof(*event));
493 UsbFnNotifyRequest(req, ecm);
496 static void EcmNotifyComplete(uint8_t pipe, struct UsbFnRequest *req)
498 struct UsbEcmDevice *ecm = req->context;
499 struct UsbCdcNotification *event = req->buf;
500 ecm->notifyReq = req;
501 if (req->status == 0) {
504 HDF_LOGD("event %{public}d --> %{public}d", event->bNotificationType, req->status);
510 struct UsbFnRequest *req = ecm->ep0Req;
528 "invalid control req%{public}02x.%{public}02x v%{public}04x i%{public}04x l%{public}hu",
533 HDF_LOGD("ecm req%{public}02x.%{public}02x v%{public}04x i%{public}04x l%{public}d",
535 req->length = (uint32_t)ret;
536 ret = UsbFnSubmitRequestSync(req, 0);
538 HDF_LOGD("ecm req %{public}02x.%{public}02x response err %{public}d", ctrl->reqType, ctrl->request, ret);