Lines Matching refs:urb
2 /* usb-urb.c is part of the DVB USB library.
19 static void usb_urb_complete(struct urb *urb)
21 struct usb_data_stream *stream = urb->context;
22 int ptype = usb_pipetype(urb->pipe);
27 "%s: %s urb completed status=%d length=%d/%d pack_num=%d errors=%d\n",
29 urb->status, urb->actual_length,
30 urb->transfer_buffer_length,
31 urb->number_of_packets, urb->error_count);
33 switch (urb->status) {
43 "%s: urb completion failed=%d\n",
44 __func__, urb->status);
48 b = (u8 *) urb->transfer_buffer;
51 for (i = 0; i < urb->number_of_packets; i++) {
52 if (urb->iso_frame_desc[i].status != 0)
56 urb->iso_frame_desc[i].status);
57 else if (urb->iso_frame_desc[i].actual_length > 0)
59 b + urb->iso_frame_desc[i].offset,
60 urb->iso_frame_desc[i].actual_length);
62 urb->iso_frame_desc[i].status = 0;
63 urb->iso_frame_desc[i].actual_length = 0;
67 if (urb->actual_length > 0)
68 stream->complete(stream, b, urb->actual_length);
76 usb_submit_urb(urb, GFP_ATOMIC);
83 dev_dbg(&stream->udev->dev, "%s: kill urb=%d\n", __func__, i);
103 dev_dbg(&stream->udev->dev, "%s: submit urb=%d\n", __func__, i);
107 "%s: could not submit urb no. %d - get them all back\n",
125 dev_dbg(&stream->udev->dev, "%s: free urb=%d\n",
142 dev_dbg(&stream->udev->dev, "%s: alloc urb=%d\n", __func__, i);
169 struct urb *urb;
171 dev_dbg(&stream->udev->dev, "%s: alloc urb=%d\n", __func__, i);
181 urb = stream->urb_list[i];
183 urb->dev = stream->udev;
184 urb->context = stream;
185 urb->complete = usb_urb_complete;
186 urb->pipe = usb_rcvisocpipe(stream->udev,
188 urb->transfer_flags = URB_ISO_ASAP;
189 urb->interval = stream->props.u.isoc.interval;
190 urb->number_of_packets = stream->props.u.isoc.framesperurb;
191 urb->transfer_buffer_length = stream->props.u.isoc.framesize *
193 urb->transfer_buffer = stream->buf_list[i];
196 urb->iso_frame_desc[j].offset = frame_offset;
197 urb->iso_frame_desc[j].length =
341 "%s: unknown urb-type for data transfer\n",