Lines Matching refs:urb
180 static void intr_complete (struct urb *urb) in intr_complete() argument
182 struct usbnet *dev = urb->context; in intr_complete()
183 int status = urb->status; in intr_complete()
188 dev->driver_info->status(dev, urb); in intr_complete()
206 status = usb_submit_urb (urb, GFP_ATOMIC); in intr_complete()
459 static void rx_complete (struct urb *urb);
461 static int rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags) in rx_submit() argument
471 usb_free_urb(urb); in rx_submit()
479 usb_free_urb (urb); in rx_submit()
484 entry->urb = urb; in rx_submit()
488 usb_fill_bulk_urb (urb, dev->udev, dev->in, in rx_submit()
497 switch (retval = usb_submit_urb (urb, GFP_ATOMIC)) { in rx_submit()
526 usb_free_urb (urb); in rx_submit()
564 static void rx_complete (struct urb *urb) in rx_complete() argument
566 struct sk_buff *skb = (struct sk_buff *) urb->context; in rx_complete()
569 int urb_status = urb->status; in rx_complete()
572 skb_put (skb, urb->actual_length); in rx_complete()
574 entry->urb = NULL; in rx_complete()
613 entry->urb = urb; in rx_complete()
614 urb = NULL; in rx_complete()
642 if (urb) { in rx_complete()
646 rx_submit (dev, urb, GFP_ATOMIC); in rx_complete()
650 usb_free_urb (urb); in rx_complete()
702 struct urb *urb; in unlink_urbs() local
713 urb = entry->urb; in unlink_urbs()
722 usb_get_urb(urb); in unlink_urbs()
726 retval = usb_unlink_urb (urb); in unlink_urbs()
731 usb_put_urb(urb); in unlink_urbs()
1125 struct urb *urb = NULL; in usbnet_deferred_kevent() local
1129 urb = usb_alloc_urb (0, GFP_KERNEL); in usbnet_deferred_kevent()
1132 if (urb != NULL) { in usbnet_deferred_kevent()
1136 usb_free_urb(urb); in usbnet_deferred_kevent()
1139 if (rx_submit (dev, urb, GFP_KERNEL) == -ENOLINK) in usbnet_deferred_kevent()
1185 static void tx_complete (struct urb *urb) in tx_complete() argument
1187 struct sk_buff *skb = (struct sk_buff *) urb->context; in tx_complete()
1191 if (urb->status == 0) { in tx_complete()
1197 switch (urb->status) { in tx_complete()
1218 "tx throttle %d\n", urb->status); in tx_complete()
1224 "tx err %d\n", entry->urb->status); in tx_complete()
1252 static int build_dma_sg(const struct sk_buff *skb, struct urb *urb) in build_dma_sg() argument
1262 urb->sg = kmalloc((num_sgs + 1) * sizeof(struct scatterlist), in build_dma_sg()
1264 if (!urb->sg) in build_dma_sg()
1267 urb->num_sgs = num_sgs; in build_dma_sg()
1268 sg_init_table(urb->sg, urb->num_sgs + 1); in build_dma_sg()
1270 sg_set_buf(&urb->sg[s++], skb->data, skb_headlen(skb)); in build_dma_sg()
1277 sg_set_page(&urb->sg[i + s], f->page.p, f->size, in build_dma_sg()
1280 urb->transfer_buffer_length = total_len; in build_dma_sg()
1290 struct urb *urb = NULL; in usbnet_start_xmit() local
1312 if (!(urb = usb_alloc_urb (0, GFP_ATOMIC))) { in usbnet_start_xmit()
1318 entry->urb = urb; in usbnet_start_xmit()
1321 usb_fill_bulk_urb (urb, dev->udev, dev->out, in usbnet_start_xmit()
1324 if (build_dma_sg(skb, urb) < 0) in usbnet_start_xmit()
1327 length = urb->transfer_buffer_length; in usbnet_start_xmit()
1340 if (skb_tailroom(skb) && !urb->num_sgs) { in usbnet_start_xmit()
1343 } else if (urb->num_sgs) in usbnet_start_xmit()
1344 sg_set_buf(&urb->sg[urb->num_sgs++], in usbnet_start_xmit()
1348 urb->transfer_flags |= URB_ZERO_PACKET; in usbnet_start_xmit()
1350 urb->transfer_buffer_length = length; in usbnet_start_xmit()
1375 usb_anchor_urb(urb, &dev->deferred); in usbnet_start_xmit()
1378 usb_put_urb(urb); in usbnet_start_xmit()
1385 switch ((retval = usb_submit_urb (urb, GFP_ATOMIC))) { in usbnet_start_xmit()
1411 if (urb) { in usbnet_start_xmit()
1412 kfree(urb->sg); in usbnet_start_xmit()
1413 usb_free_urb(urb); in usbnet_start_xmit()
1427 struct urb *urb; in rx_alloc_submit() local
1433 urb = usb_alloc_urb(0, flags); in rx_alloc_submit()
1434 if (urb != NULL) { in rx_alloc_submit()
1435 ret = rx_submit(dev, urb, flags); in rx_alloc_submit()
1465 kfree(entry->urb->sg); in usbnet_bh()
1467 usb_free_urb (entry->urb); in usbnet_bh()
1807 struct urb *res; in usbnet_resume()
2009 static void usbnet_async_cmd_cb(struct urb *urb) in usbnet_async_cmd_cb() argument
2011 struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)urb->context; in usbnet_async_cmd_cb()
2012 int status = urb->status; in usbnet_async_cmd_cb()
2015 dev_dbg(&urb->dev->dev, "%s failed with %d", in usbnet_async_cmd_cb()
2019 usb_free_urb(urb); in usbnet_async_cmd_cb()
2030 struct urb *urb; in usbnet_write_cmd_async() local
2038 urb = usb_alloc_urb(0, GFP_ATOMIC); in usbnet_write_cmd_async()
2039 if (!urb) { in usbnet_write_cmd_async()
2064 usb_fill_control_urb(urb, dev->udev, in usbnet_write_cmd_async()
2068 urb->transfer_flags |= URB_FREE_BUFFER; in usbnet_write_cmd_async()
2070 err = usb_submit_urb(urb, GFP_ATOMIC); in usbnet_write_cmd_async()
2082 usb_free_urb(urb); in usbnet_write_cmd_async()