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: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> --- drivers/media/usb/stkwebcam/stk-webcam.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/media/usb/stkwebcam/stk-webcam.c b/drivers/media/usb/stkwebcam/stk-webcam.c index 5accb5241072..0cdf23180095 100644 --- a/drivers/media/usb/stkwebcam/stk-webcam.c +++ b/drivers/media/usb/stkwebcam/stk-webcam.c @@ -460,14 +460,11 @@ static int stk_prepare_iso(struct stk_camera *dev) usb_kill_urb(dev->isobufs[i].urb); urb = dev->isobufs[i].urb; } - urb->interval = 1; - urb->dev = udev; - urb->pipe = usb_rcvisocpipe(udev, dev->isoc_ep); + usb_fill_int_urb(urb, udev, usb_rcvisocpipe(udev, dev->isoc_ep), + dev->isobufs[i].data, ISO_BUFFER_SIZE, + stk_isoc_handler, dev, 1); + urb->transfer_flags = URB_ISO_ASAP; - urb->transfer_buffer = dev->isobufs[i].data; - urb->transfer_buffer_length = ISO_BUFFER_SIZE; - urb->complete = stk_isoc_handler; - urb->context = dev; urb->start_frame = 0; urb->number_of_packets = ISO_FRAMES_PER_DESC; -- 2.17.1