Lines Matching refs:urb
59 struct urb *tx_urb;
202 static void atusb_in(struct urb *urb);
204 static int atusb_submit_rx_urb(struct atusb *atusb, struct urb *urb)
207 struct sk_buff *skb = urb->context;
221 usb_fill_bulk_urb(urb, usb_dev, usb_rcvbulkpipe(usb_dev, 1),
223 usb_anchor_urb(urb, &atusb->rx_urbs);
225 ret = usb_submit_urb(urb, GFP_KERNEL);
227 usb_unanchor_urb(urb);
229 urb->context = NULL;
239 struct urb *urb;
246 urb = usb_get_from_anchor(&atusb->idle_urbs);
247 if (!urb)
249 ret = atusb_submit_rx_urb(atusb, urb);
252 usb_anchor_urb(urb, &atusb->idle_urbs);
282 static void atusb_in_good(struct urb *urb)
284 struct usb_device *usb_dev = urb->dev;
285 struct sk_buff *skb = urb->context;
289 if (!urb->actual_length) {
296 if (urb->actual_length == 1) {
301 if (len + 1 > urb->actual_length - 1) {
303 len, urb->actual_length);
317 urb->context = NULL; /* skb is gone */
320 static void atusb_in(struct urb *urb)
322 struct usb_device *usb_dev = urb->dev;
323 struct sk_buff *skb = urb->context;
327 urb->status, urb->actual_length);
328 if (urb->status) {
329 if (urb->status == -ENOENT) { /* being killed */
331 urb->context = NULL;
334 dev_dbg(&usb_dev->dev, "%s: URB error %d\n", __func__, urb->status);
336 atusb_in_good(urb);
339 usb_anchor_urb(urb, &atusb->idle_urbs);
348 struct urb *urb;
351 urb = usb_get_from_anchor(&atusb->idle_urbs);
352 if (!urb)
354 kfree_skb(urb->context);
355 usb_free_urb(urb);
361 struct urb *urb;
364 urb = usb_alloc_urb(0, GFP_KERNEL);
365 if (!urb) {
369 usb_anchor_urb(urb, &atusb->idle_urbs);
370 usb_free_urb(urb);
378 static void atusb_xmit_complete(struct urb *urb)
380 dev_dbg(&urb->dev->dev, "atusb_xmit urb completed");