Lines Matching refs:req

112 	struct at91_request	*req;
153 else list_for_each_entry (req, &ep->queue, queue) {
154 unsigned length = req->req.actual;
157 &req->req, length,
158 req->req.length, req->req.buf);
259 static void done(struct at91_ep *ep, struct at91_request *req, int status)
264 list_del_init(&req->queue);
265 if (req->req.status == -EINPROGRESS)
266 req->req.status = status;
268 status = req->req.status;
270 VDBG("%s done %p, status %d\n", ep->ep.name, req, status);
274 usb_gadget_giveback_request(&ep->ep, &req->req);
310 static int read_fifo (struct at91_ep *ep, struct at91_request *req)
318 buf = req->req.buf + req->req.actual;
319 bufferspace = req->req.length - req->req.actual;
335 req->req.status = -EOVERFLOW;
354 req->req.actual += count;
359 PACKET("%s %p out/%d%s\n", ep->ep.name, &req->req, count,
367 done(ep, req, 0);
385 static int write_fifo(struct at91_ep *ep, struct at91_request *req)
416 buf = req->req.buf + req->req.actual;
418 total = req->req.length - req->req.actual;
424 is_last = (count < ep->ep.maxpacket) || !req->req.zero;
430 * NOTE: incrementing req->actual before we receive the ACK means
444 req->req.actual += count;
446 PACKET("%s %p in/%d%s\n", ep->ep.name, &req->req, count,
449 done(ep, req, 0);
455 struct at91_request *req;
464 req = list_entry(ep->queue.next, struct at91_request, queue);
465 done(ep, req, status);
585 struct at91_request *req;
587 req = kzalloc(sizeof (struct at91_request), gfp_flags);
588 if (!req)
591 INIT_LIST_HEAD(&req->queue);
592 return &req->req;
597 struct at91_request *req;
599 req = container_of(_req, struct at91_request, req);
600 BUG_ON(!list_empty(&req->queue));
601 kfree(req);
607 struct at91_request *req;
613 req = container_of(_req, struct at91_request, req);
617 || !_req->buf || !list_empty(&req->queue)) {
670 if (req->req.length == 0) {
684 status = write_fifo(ep, req);
686 status = read_fifo(ep, req);
695 if (req && !status) {
696 list_add_tail (&req->queue, &ep->queue);
707 struct at91_request *req = NULL, *iter;
721 if (&iter->req != _req)
723 req = iter;
726 if (!req) {
731 done(ep, req, -ECONNRESET);
1007 struct at91_request *req;
1012 req = list_entry(ep->queue.next,
1015 req = NULL;
1023 if (req)
1024 return write_fifo(ep, req);
1029 if (ep->is_iso && req)
1030 req->req.status = -EILSEQ;
1036 if (req && (csr & RX_DATA_READY))
1037 return read_fifo(ep, req);
1256 VDBG("req %02x.%02x protocol STALL; stat %d\n",
1278 struct at91_request *req;
1297 req = NULL;
1299 req = list_entry(ep0->queue.next, struct at91_request, queue);
1307 if (req && ep0->is_in) {
1351 if (req) {
1390 if (req)
1391 done(ep0, req, 0);