Lines Matching refs:urb

227 	struct urb		*urb;
1173 static int dummy_ep_stream_en(struct dummy_hcd *dum_hcd, struct urb *urb)
1175 const struct usb_endpoint_descriptor *desc = &urb->ep->desc;
1223 static int dummy_validate_stream(struct dummy_hcd *dum_hcd, struct urb *urb)
1228 enabled = dummy_ep_stream_en(dum_hcd, urb);
1229 if (!urb->stream_id) {
1238 usb_pipeendpoint(urb->pipe));
1239 if (urb->stream_id > max_streams) {
1241 urb->stream_id);
1250 struct urb *urb,
1261 urbp->urb = urb;
1267 rc = dummy_validate_stream(dum_hcd, urb);
1273 rc = usb_hcd_link_urb_to_ep(hcd, urb);
1280 dum_hcd->udev = urb->dev;
1282 } else if (unlikely(dum_hcd->udev != urb->dev))
1286 urb->hcpriv = urbp;
1289 if (usb_pipetype(urb->pipe) == PIPE_CONTROL)
1290 urb->error_count = 1; /* mark as a new urb */
1301 static int dummy_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status)
1312 rc = usb_hcd_check_unlink_urb(hcd, urb, status);
1321 static int dummy_perform_transfer(struct urb *urb, struct dummy_request *req,
1325 struct urbp *urbp = urb->hcpriv;
1332 to_host = usb_urb_dir_in(urb);
1335 if (!urb->num_sgs) {
1336 ubuf = urb->transfer_buffer + urb->actual_length;
1352 sg_miter_start(miter, urb->sg, urb->num_sgs, flags);
1388 static int transfer(struct dummy_hcd *dum_hcd, struct urb *urb,
1402 if (dummy_ep_stream_en(dum_hcd, urb)) {
1403 if ((urb->stream_id != req->req.stream_id))
1414 host_len = urb->transfer_buffer_length - urb->actual_length;
1420 to_host = usb_urb_dir_in(urb);
1441 len = dummy_perform_transfer(urb, req, len);
1449 urb->actual_length += len;
1490 if (urb->transfer_buffer_length == urb->actual_length) {
1491 if (urb->transfer_flags & URB_ZERO_PACKET &&
1592 * @urb: the urb request to handle
1601 static int handle_control_request(struct dummy_hcd *dum_hcd, struct urb *urb,
1737 buf = (char *)urb->transfer_buffer;
1738 if (urb->transfer_buffer_length > 0) {
1752 if (urb->transfer_buffer_length > 1)
1754 urb->actual_length = min_t(u32, 2,
1755 urb->transfer_buffer_length);
1800 /* look at each urb queued by the host side driver */
1819 struct urb *urb;
1829 urb = urbp->urb;
1830 if (urb->unlinked)
1840 address = usb_pipeendpoint (urb->pipe);
1841 if (usb_urb_dir_in(urb))
1847 "no ep configured for urb %p\n",
1848 urb);
1856 if (ep == &dum->ep[0] && urb->error_count) {
1857 ep->setup_stage = 1; /* a new urb */
1858 urb->error_count = 0;
1862 dev_dbg(dummy_dev(dum_hcd), "ep %s halted, urb %p\n",
1863 ep->ep.name, urb);
1874 setup = *(struct usb_ctrlrequest *) urb->setup_packet;
1897 value = handle_control_request(dum_hcd, urb, &setup,
1925 urb->actual_length = 0;
1933 switch (usb_pipetype(urb->pipe)) {
1939 * Is it urb->interval since the last xfer?
1940 * Use urb->iso_frame_desc[i].
1949 /* FIXME is it urb->interval since the last xfer?
1958 total -= transfer(dum_hcd, urb, ep, limit, &status);
1972 usb_hcd_unlink_urb_from_ep(dummy_hcd_to_hcd(dum_hcd), urb);
1974 usb_hcd_giveback_urb(dummy_hcd_to_hcd(dum_hcd), urb, status);
2386 static inline ssize_t show_urb(char *buf, size_t size, struct urb *urb)
2388 int ep = usb_pipeendpoint(urb->pipe);
2391 "urb/%p %s ep%d%s%s len %d/%d\n",
2392 urb,
2394 switch (urb->dev->speed) {
2411 ep, ep ? (usb_urb_dir_in(urb) ? "in" : "out") : "",
2413 switch (usb_pipetype(urb->pipe)) { \
2427 urb->actual_length, urb->transfer_buffer_length);
2443 temp = show_urb(buf, PAGE_SIZE - size, urbp->urb);