Lines Matching refs:urb
181 static void intr_complete (struct urb *urb) in intr_complete() argument
183 struct usbnet *dev = urb->context; in intr_complete()
184 int status = urb->status; in intr_complete()
189 dev->driver_info->status(dev, urb); in intr_complete()
207 status = usb_submit_urb (urb, GFP_ATOMIC); in intr_complete()
466 static void rx_complete (struct urb *urb);
468 static int rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags) in rx_submit() argument
478 usb_free_urb(urb); in rx_submit()
486 usb_free_urb (urb); in rx_submit()
491 entry->urb = urb; in rx_submit()
495 usb_fill_bulk_urb (urb, dev->udev, dev->in, in rx_submit()
504 switch (retval = usb_submit_urb (urb, GFP_ATOMIC)) { in rx_submit()
533 usb_free_urb (urb); in rx_submit()
571 static void rx_complete (struct urb *urb) in rx_complete() argument
573 struct sk_buff *skb = (struct sk_buff *) urb->context; in rx_complete()
576 int urb_status = urb->status; in rx_complete()
579 skb_put (skb, urb->actual_length); in rx_complete()
581 entry->urb = NULL; in rx_complete()
620 entry->urb = urb; in rx_complete()
621 urb = NULL; in rx_complete()
649 if (urb) { in rx_complete()
653 rx_submit (dev, urb, GFP_ATOMIC); in rx_complete()
657 usb_free_urb (urb); in rx_complete()
709 struct urb *urb; in unlink_urbs() local
720 urb = entry->urb; in unlink_urbs()
729 usb_get_urb(urb); in unlink_urbs()
733 retval = usb_unlink_urb (urb); in unlink_urbs()
738 usb_put_urb(urb); in unlink_urbs()
1143 struct urb *urb = NULL; in usbnet_deferred_kevent() local
1147 urb = usb_alloc_urb (0, GFP_KERNEL); in usbnet_deferred_kevent()
1150 if (urb != NULL) { in usbnet_deferred_kevent()
1154 usb_free_urb(urb); in usbnet_deferred_kevent()
1157 if (rx_submit (dev, urb, GFP_KERNEL) == -ENOLINK) in usbnet_deferred_kevent()
1203 static void tx_complete (struct urb *urb) in tx_complete() argument
1205 struct sk_buff *skb = (struct sk_buff *) urb->context; in tx_complete()
1209 if (urb->status == 0) { in tx_complete()
1215 switch (urb->status) { in tx_complete()
1236 "tx throttle %d\n", urb->status); in tx_complete()
1242 "tx err %d\n", entry->urb->status); in tx_complete()
1270 static int build_dma_sg(const struct sk_buff *skb, struct urb *urb) in build_dma_sg() argument
1280 urb->sg = kmalloc((num_sgs + 1) * sizeof(struct scatterlist), in build_dma_sg()
1282 if (!urb->sg) in build_dma_sg()
1285 urb->num_sgs = num_sgs; in build_dma_sg()
1286 sg_init_table(urb->sg, urb->num_sgs + 1); in build_dma_sg()
1288 sg_set_buf(&urb->sg[s++], skb->data, skb_headlen(skb)); in build_dma_sg()
1295 sg_set_page(&urb->sg[i + s], f->page.p, f->size, in build_dma_sg()
1298 urb->transfer_buffer_length = total_len; in build_dma_sg()
1308 struct urb *urb = NULL; in usbnet_start_xmit() local
1330 if (!(urb = usb_alloc_urb (0, GFP_ATOMIC))) { in usbnet_start_xmit()
1336 entry->urb = urb; in usbnet_start_xmit()
1339 usb_fill_bulk_urb (urb, dev->udev, dev->out, in usbnet_start_xmit()
1342 if (build_dma_sg(skb, urb) < 0) in usbnet_start_xmit()
1345 length = urb->transfer_buffer_length; in usbnet_start_xmit()
1358 if (skb_tailroom(skb) && !urb->num_sgs) { in usbnet_start_xmit()
1361 } else if (urb->num_sgs) in usbnet_start_xmit()
1362 sg_set_buf(&urb->sg[urb->num_sgs++], in usbnet_start_xmit()
1366 urb->transfer_flags |= URB_ZERO_PACKET; in usbnet_start_xmit()
1368 urb->transfer_buffer_length = length; in usbnet_start_xmit()
1393 usb_anchor_urb(urb, &dev->deferred); in usbnet_start_xmit()
1396 usb_put_urb(urb); in usbnet_start_xmit()
1403 switch ((retval = usb_submit_urb (urb, GFP_ATOMIC))) { in usbnet_start_xmit()
1429 if (urb) { in usbnet_start_xmit()
1430 kfree(urb->sg); in usbnet_start_xmit()
1431 usb_free_urb(urb); in usbnet_start_xmit()
1445 struct urb *urb; in rx_alloc_submit() local
1451 urb = usb_alloc_urb(0, flags); in rx_alloc_submit()
1452 if (urb != NULL) { in rx_alloc_submit()
1453 ret = rx_submit(dev, urb, flags); in rx_alloc_submit()
1483 kfree(entry->urb->sg); in usbnet_bh()
1485 usb_free_urb (entry->urb); in usbnet_bh()
1826 struct urb *res; in usbnet_resume()
2165 static void usbnet_async_cmd_cb(struct urb *urb) in usbnet_async_cmd_cb() argument
2167 struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)urb->context; in usbnet_async_cmd_cb()
2168 int status = urb->status; in usbnet_async_cmd_cb()
2171 dev_dbg(&urb->dev->dev, "%s failed with %d", in usbnet_async_cmd_cb()
2175 usb_free_urb(urb); in usbnet_async_cmd_cb()
2186 struct urb *urb; in usbnet_write_cmd_async() local
2194 urb = usb_alloc_urb(0, GFP_ATOMIC); in usbnet_write_cmd_async()
2195 if (!urb) { in usbnet_write_cmd_async()
2220 usb_fill_control_urb(urb, dev->udev, in usbnet_write_cmd_async()
2224 urb->transfer_flags |= URB_FREE_BUFFER; in usbnet_write_cmd_async()
2226 err = usb_submit_urb(urb, GFP_ATOMIC); in usbnet_write_cmd_async()
2238 usb_free_urb(urb); in usbnet_write_cmd_async()