@@ -180,18 +180,17 @@ static int usb_urb_alloc_isoc_urbs(struct usb_data_stream *stream)
}
urb = stream->urb_list[i];
+ usb_fill_int_urb(urb, stream->udev,
+ usb_rcvisocpipe(stream->udev,
+ stream->props.endpoint),
+ stream->buf_list[i],
+ stream->props.u.isoc.framesize *
+ stream->props.u.isoc.framesperurb,
+ usb_urb_complete, stream,
+ stream->props.u.isoc.interval);
- urb->dev = stream->udev;
- urb->context = stream;
- urb->complete = usb_urb_complete;
- urb->pipe = usb_rcvisocpipe(stream->udev,
- stream->props.endpoint);
urb->transfer_flags = URB_ISO_ASAP | URB_FREE_BUFFER;
- urb->interval = stream->props.u.isoc.interval;
urb->number_of_packets = stream->props.u.isoc.framesperurb;
- urb->transfer_buffer_length = stream->props.u.isoc.framesize *
- stream->props.u.isoc.framesperurb;
- urb->transfer_buffer = stream->buf_list[i];
for (j = 0; j < stream->props.u.isoc.framesperurb; j++) {
urb->iso_frame_desc[j].offset = frame_offset;
Using usb_fill_int_urb() helps to find code which initializes an URB. A grep for members of the struct (like ->complete) reveal lots of other things, too. Cc: Antti Palosaari <crope@iki.fi> Cc: Mauro Carvalho Chehab <mchehab@kernel.org> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- drivers/media/usb/dvb-usb-v2/usb_urb.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-)