Lines Matching refs:urb
87 struct urb *urb; member
90 static void bfusb_tx_complete(struct urb *urb);
91 static void bfusb_rx_complete(struct urb *urb);
93 static struct urb *bfusb_get_completed(struct bfusb_data *data) in bfusb_get_completed()
96 struct urb *urb = NULL; in bfusb_get_completed() local
102 urb = ((struct bfusb_data_scb *) skb->cb)->urb; in bfusb_get_completed()
106 return urb; in bfusb_get_completed()
112 struct urb *urb; in bfusb_unlink_urbs() local
117 urb = ((struct bfusb_data_scb *) skb->cb)->urb; in bfusb_unlink_urbs()
118 usb_kill_urb(urb); in bfusb_unlink_urbs()
122 while ((urb = bfusb_get_completed(data))) in bfusb_unlink_urbs()
123 usb_free_urb(urb); in bfusb_unlink_urbs()
129 struct urb *urb = bfusb_get_completed(data); in bfusb_send_bulk() local
134 if (!urb) { in bfusb_send_bulk()
135 urb = usb_alloc_urb(0, GFP_ATOMIC); in bfusb_send_bulk()
136 if (!urb) in bfusb_send_bulk()
142 usb_fill_bulk_urb(urb, data->udev, pipe, skb->data, skb->len, in bfusb_send_bulk()
145 scb->urb = urb; in bfusb_send_bulk()
149 err = usb_submit_urb(urb, GFP_ATOMIC); in bfusb_send_bulk()
152 data->hdev->name, urb, err); in bfusb_send_bulk()
154 usb_free_urb(urb); in bfusb_send_bulk()
188 static void bfusb_tx_complete(struct urb *urb) in bfusb_tx_complete() argument
190 struct sk_buff *skb = (struct sk_buff *) urb->context; in bfusb_tx_complete()
193 BT_DBG("bfusb %p urb %p skb %p len %d", data, urb, skb, skb->len); in bfusb_tx_complete()
200 if (!urb->status) in bfusb_tx_complete()
216 static int bfusb_rx_submit(struct bfusb_data *data, struct urb *urb) in bfusb_rx_submit() argument
222 BT_DBG("bfusb %p urb %p", data, urb); in bfusb_rx_submit()
224 if (!urb) { in bfusb_rx_submit()
225 urb = usb_alloc_urb(0, GFP_ATOMIC); in bfusb_rx_submit()
226 if (!urb) in bfusb_rx_submit()
232 usb_free_urb(urb); in bfusb_rx_submit()
239 scb->urb = urb; in bfusb_rx_submit()
243 usb_fill_bulk_urb(urb, data->udev, pipe, skb->data, size, in bfusb_rx_submit()
248 err = usb_submit_urb(urb, GFP_ATOMIC); in bfusb_rx_submit()
251 data->hdev->name, urb, err); in bfusb_rx_submit()
254 usb_free_urb(urb); in bfusb_rx_submit()
348 static void bfusb_rx_complete(struct urb *urb) in bfusb_rx_complete() argument
350 struct sk_buff *skb = (struct sk_buff *) urb->context; in bfusb_rx_complete()
352 unsigned char *buf = urb->transfer_buffer; in bfusb_rx_complete()
353 int count = urb->actual_length; in bfusb_rx_complete()
356 BT_DBG("bfusb %p urb %p skb %p len %d", data, urb, skb, skb->len); in bfusb_rx_complete()
363 if (urb->status || !count) in bfusb_rx_complete()
398 bfusb_rx_submit(data, urb); in bfusb_rx_complete()
405 urb->dev = data->udev; in bfusb_rx_complete()
407 err = usb_submit_urb(urb, GFP_ATOMIC); in bfusb_rx_complete()
410 data->hdev->name, urb, err); in bfusb_rx_complete()