OSDN Git Service

isdn: gigaset: use usb_fill_int_urb()
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Wed, 20 Jun 2018 10:40:25 +0000 (12:40 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 22 Jun 2018 04:54:39 +0000 (13:54 +0900)
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: Paul Bolle <pebolle@tiscali.nl>
Cc: Karsten Keil <isdn@linux-pingi.de>
Cc: gigaset307x-common@lists.sourceforge.net
Cc: netdev@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/isdn/gigaset/bas-gigaset.c

index 20d0a08..40c1411 100644 (file)
@@ -972,16 +972,14 @@ static int starturbs(struct bc_state *bcs)
                        rc = -EFAULT;
                        goto error;
                }
+               usb_fill_int_urb(urb, bcs->cs->hw.bas->udev,
+                                usb_rcvisocpipe(urb->dev, 3 + 2 * bcs->channel),
+                                ubc->isoinbuf + k * BAS_INBUFSIZE,
+                                BAS_INBUFSIZE, read_iso_callback, bcs,
+                                BAS_FRAMETIME);
 
-               urb->dev = bcs->cs->hw.bas->udev;
-               urb->pipe = usb_rcvisocpipe(urb->dev, 3 + 2 * bcs->channel);
                urb->transfer_flags = URB_ISO_ASAP;
-               urb->transfer_buffer = ubc->isoinbuf + k * BAS_INBUFSIZE;
-               urb->transfer_buffer_length = BAS_INBUFSIZE;
                urb->number_of_packets = BAS_NUMFRAMES;
-               urb->interval = BAS_FRAMETIME;
-               urb->complete = read_iso_callback;
-               urb->context = bcs;
                for (j = 0; j < BAS_NUMFRAMES; j++) {
                        urb->iso_frame_desc[j].offset = j * BAS_MAXFRAME;
                        urb->iso_frame_desc[j].length = BAS_MAXFRAME;
@@ -1005,15 +1003,15 @@ static int starturbs(struct bc_state *bcs)
                        rc = -EFAULT;
                        goto error;
                }
-               urb->dev = bcs->cs->hw.bas->udev;
-               urb->pipe = usb_sndisocpipe(urb->dev, 4 + 2 * bcs->channel);
+               usb_fill_int_urb(urb, bcs->cs->hw.bas->udev,
+                                usb_sndisocpipe(urb->dev, 4 + 2 * bcs->channel),
+                                ubc->isooutbuf->data,
+                                sizeof(ubc->isooutbuf->data),
+                                write_iso_callback, &ubc->isoouturbs[k],
+                                BAS_FRAMETIME);
+
                urb->transfer_flags = URB_ISO_ASAP;
-               urb->transfer_buffer = ubc->isooutbuf->data;
-               urb->transfer_buffer_length = sizeof(ubc->isooutbuf->data);
                urb->number_of_packets = BAS_NUMFRAMES;
-               urb->interval = BAS_FRAMETIME;
-               urb->complete = write_iso_callback;
-               urb->context = &ubc->isoouturbs[k];
                for (j = 0; j < BAS_NUMFRAMES; ++j) {
                        urb->iso_frame_desc[j].offset = BAS_OUTBUFSIZE;
                        urb->iso_frame_desc[j].length = BAS_NORMFRAME;