Lines Matching refs:req
140 struct usb_request *req;
196 /* must hold dev->lock before accessing ep or req */
198 struct usb_request *req;
274 static void epio_complete (struct usb_ep *ep, struct usb_request *req)
278 if (!req->context)
280 if (req->status)
281 epdata->status = req->status;
283 epdata->status = req->actual;
284 complete ((struct completion *)req->context);
338 struct usb_request *req = epdata->req;
340 req->context = &done;
341 req->complete = epio_complete;
342 req->buf = buf;
343 req->length = len;
344 value = usb_ep_queue (epdata->ep, req, GFP_ATOMIC);
356 usb_ep_dequeue (epdata->ep, epdata->req);
432 struct usb_request *req;
452 if (likely(epdata && epdata->ep && priv->req))
453 value = usb_ep_dequeue (epdata->ep, priv->req);
483 static void ep_aio_complete(struct usb_ep *ep, struct usb_request *req)
485 struct kiocb *iocb = req->context;
491 priv->req = NULL;
498 if (priv->to_free == NULL || unlikely(req->actual == 0)) {
499 kfree(req->buf);
504 req->actual ? req->actual : (long)req->status);
507 if (unlikely(0 != req->status))
509 ep->name, req->status, req->actual);
511 priv->buf = req->buf;
512 priv->actual = req->actual;
517 usb_ep_free_request(ep, req);
528 struct usb_request *req;
548 req = usb_ep_alloc_request(epdata->ep, GFP_ATOMIC);
550 if (unlikely(!req))
553 priv->req = req;
554 req->buf = buf;
555 req->length = len;
556 req->complete = ep_aio_complete;
557 req->context = iocb;
558 value = usb_ep_queue(epdata->ep, req, GFP_ATOMIC);
560 usb_ep_free_request(epdata->ep, req);
853 static void clean_req (struct usb_ep *ep, struct usb_request *req)
857 if (req->buf != dev->rbuf) {
858 kfree(req->buf);
859 req->buf = dev->rbuf;
861 req->complete = epio_complete;
865 static void ep0_complete (struct usb_ep *ep, struct usb_request *req)
874 dev->setup_out_error = (req->status != 0);
882 if (free && req->buf != &dev->rbuf)
883 clean_req (ep, req);
884 req->complete = epio_complete;
888 static int setup_req (struct usb_ep *ep, struct usb_request *req, u16 len)
897 req->buf = kmalloc(len, GFP_ATOMIC);
898 if (req->buf == NULL) {
899 req->buf = dev->rbuf;
902 req->complete = ep0_complete;
903 req->length = len;
904 req->zero = 0;
939 struct usb_request *req = dev->req;
941 if ((retval = setup_req (ep, req, 0)) == 0) {
944 retval = usb_ep_queue (ep, req, GFP_KERNEL);
987 len = min (len, (size_t)dev->req->actual);
990 if (copy_to_user (buf, dev->req->buf, len))
996 clean_req (dev->gadget->ep0, dev->req);
1136 retval = setup_req (dev->gadget->ep0, dev->req, len);
1141 if (copy_from_user (dev->req->buf, buf, len))
1145 dev->req->zero = 1;
1147 dev->gadget->ep0, dev->req,
1153 clean_req (dev->gadget->ep0, dev->req);
1318 dev->req->buf = dev->hs_config;
1321 dev->req->buf = dev->config;
1324 ((u8 *)dev->req->buf) [1] = type;
1332 struct usb_request *req = dev->req;
1376 req->buf = dev->rbuf;
1377 req->context = NULL;
1388 req->buf = dev->dev;
1465 *(u8 *)req->buf = dev->current_config;
1472 VDEBUG (dev, "%s req%02x.%02x v%04x i%04x l%d\n",
1489 value = setup_req (gadget->ep0, dev->req,
1496 value = usb_ep_queue (gadget->ep0, dev->req,
1501 clean_req (gadget->ep0, dev->req);
1520 req->length = value;
1521 req->zero = value < w_length;
1525 value = usb_ep_queue (gadget->ep0, req, GFP_KERNEL);
1531 req->status = 0;
1566 usb_ep_free_request (ep->ep, ep->req);
1611 data->req = usb_ep_alloc_request (ep, GFP_KERNEL);
1612 if (!data->req)
1624 usb_ep_free_request (ep, data->req);
1655 if (dev->req)
1656 usb_ep_free_request (gadget->ep0, dev->req);
1681 dev->req = usb_ep_alloc_request (gadget->ep0, GFP_KERNEL);
1682 if (!dev->req)
1684 dev->req->context = NULL;
1685 dev->req->complete = epio_complete;