Lines Matching refs:urb

229 	struct urb		*urb;
1186 static int dummy_ep_stream_en(struct dummy_hcd *dum_hcd, struct urb *urb)
1188 const struct usb_endpoint_descriptor *desc = &urb->ep->desc;
1236 static int dummy_validate_stream(struct dummy_hcd *dum_hcd, struct urb *urb)
1241 enabled = dummy_ep_stream_en(dum_hcd, urb);
1242 if (!urb->stream_id) {
1251 usb_pipeendpoint(urb->pipe));
1252 if (urb->stream_id > max_streams) {
1254 urb->stream_id);
1263 struct urb *urb,
1274 urbp->urb = urb;
1280 rc = dummy_validate_stream(dum_hcd, urb);
1286 rc = usb_hcd_link_urb_to_ep(hcd, urb);
1293 dum_hcd->udev = urb->dev;
1295 } else if (unlikely(dum_hcd->udev != urb->dev))
1299 urb->hcpriv = urbp;
1302 if (usb_pipetype(urb->pipe) == PIPE_CONTROL)
1303 urb->error_count = 1; /* mark as a new urb */
1314 static int dummy_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status)
1325 rc = usb_hcd_check_unlink_urb(hcd, urb, status);
1334 static int dummy_perform_transfer(struct urb *urb, struct dummy_request *req,
1338 struct urbp *urbp = urb->hcpriv;
1345 to_host = usb_urb_dir_in(urb);
1348 if (!urb->num_sgs) {
1349 ubuf = urb->transfer_buffer + urb->actual_length;
1365 sg_miter_start(miter, urb->sg, urb->num_sgs, flags);
1401 static int transfer(struct dummy_hcd *dum_hcd, struct urb *urb,
1415 if (dummy_ep_stream_en(dum_hcd, urb)) {
1416 if ((urb->stream_id != req->req.stream_id))
1427 host_len = urb->transfer_buffer_length - urb->actual_length;
1433 to_host = usb_urb_dir_in(urb);
1454 len = dummy_perform_transfer(urb, req, len);
1462 urb->actual_length += len;
1503 if (urb->transfer_buffer_length == urb->actual_length) {
1504 if (urb->transfer_flags & URB_ZERO_PACKET &&
1605 * @urb: the urb request to handle
1614 static int handle_control_request(struct dummy_hcd *dum_hcd, struct urb *urb,
1750 buf = (char *)urb->transfer_buffer;
1751 if (urb->transfer_buffer_length > 0) {
1765 if (urb->transfer_buffer_length > 1)
1767 urb->actual_length = min_t(u32, 2,
1768 urb->transfer_buffer_length);
1813 /* look at each urb queued by the host side driver */
1832 struct urb *urb;
1842 urb = urbp->urb;
1843 if (urb->unlinked)
1853 address = usb_pipeendpoint (urb->pipe);
1854 if (usb_urb_dir_in(urb))
1860 "no ep configured for urb %p\n",
1861 urb);
1869 if (ep == &dum->ep[0] && urb->error_count) {
1870 ep->setup_stage = 1; /* a new urb */
1871 urb->error_count = 0;
1875 dev_dbg(dummy_dev(dum_hcd), "ep %s halted, urb %p\n",
1876 ep->ep.name, urb);
1887 setup = *(struct usb_ctrlrequest *) urb->setup_packet;
1910 value = handle_control_request(dum_hcd, urb, &setup,
1938 urb->actual_length = 0;
1946 switch (usb_pipetype(urb->pipe)) {
1952 * Is it urb->interval since the last xfer?
1953 * Use urb->iso_frame_desc[i].
1962 /* FIXME is it urb->interval since the last xfer?
1971 total -= transfer(dum_hcd, urb, ep, limit, &status);
1985 usb_hcd_unlink_urb_from_ep(dummy_hcd_to_hcd(dum_hcd), urb);
1987 usb_hcd_giveback_urb(dummy_hcd_to_hcd(dum_hcd), urb, status);
2401 static inline ssize_t show_urb(char *buf, size_t size, struct urb *urb)
2403 int ep = usb_pipeendpoint(urb->pipe);
2406 "urb/%p %s ep%d%s%s len %d/%d\n",
2407 urb,
2409 switch (urb->dev->speed) {
2426 ep, ep ? (usb_urb_dir_in(urb) ? "in" : "out") : "",
2428 switch (usb_pipetype(urb->pipe)) { \
2442 urb->actual_length, urb->transfer_buffer_length);
2458 temp = show_urb(buf, PAGE_SIZE - size, urbp->urb);