Lines Matching refs:tx_buf
257 struct tx_buf *tx_buf = (struct tx_buf *) urb->context; in hif_usb_tx_cb() local
261 if (!tx_buf || !tx_buf->hif_dev) in hif_usb_tx_cb()
264 hif_dev = tx_buf->hif_dev; in hif_usb_tx_cb()
282 ath9k_skb_queue_purge(hif_dev, &tx_buf->skb_queue); in hif_usb_tx_cb()
293 ath9k_skb_queue_complete(hif_dev, &tx_buf->skb_queue, txok); in hif_usb_tx_cb()
296 tx_buf->len = tx_buf->offset = 0; in hif_usb_tx_cb()
297 __skb_queue_head_init(&tx_buf->skb_queue); in hif_usb_tx_cb()
301 list_move_tail(&tx_buf->list, &hif_dev->tx.tx_buf); in hif_usb_tx_cb()
312 struct tx_buf *tx_buf = NULL; in __hif_usb_tx() local
323 if (list_empty(&hif_dev->tx.tx_buf)) in __hif_usb_tx()
326 tx_buf = list_first_entry(&hif_dev->tx.tx_buf, struct tx_buf, list); in __hif_usb_tx()
327 list_move_tail(&tx_buf->list, &hif_dev->tx.tx_pending); in __hif_usb_tx()
340 buf = tx_buf->buf; in __hif_usb_tx()
341 buf += tx_buf->offset; in __hif_usb_tx()
347 tx_buf->len = nskb->len + 4; in __hif_usb_tx()
350 tx_buf->offset += (((tx_buf->len - 1) / 4) + 1) * 4; in __hif_usb_tx()
353 tx_buf->len += tx_buf->offset; in __hif_usb_tx()
355 __skb_queue_tail(&tx_buf->skb_queue, nskb); in __hif_usb_tx()
359 usb_fill_bulk_urb(tx_buf->urb, hif_dev->udev, in __hif_usb_tx()
361 tx_buf->buf, tx_buf->len, in __hif_usb_tx()
362 hif_usb_tx_cb, tx_buf); in __hif_usb_tx()
364 ret = usb_submit_urb(tx_buf->urb, GFP_ATOMIC); in __hif_usb_tx()
366 tx_buf->len = tx_buf->offset = 0; in __hif_usb_tx()
367 ath9k_skb_queue_complete(hif_dev, &tx_buf->skb_queue, false); in __hif_usb_tx()
368 __skb_queue_head_init(&tx_buf->skb_queue); in __hif_usb_tx()
369 list_move_tail(&tx_buf->list, &hif_dev->tx.tx_buf); in __hif_usb_tx()
441 struct tx_buf *tx_buf = NULL, *tx_buf_tmp = NULL; in hif_usb_stop() local
452 list_for_each_entry_safe(tx_buf, tx_buf_tmp, in hif_usb_stop()
454 usb_get_urb(tx_buf->urb); in hif_usb_stop()
456 usb_kill_urb(tx_buf->urb); in hif_usb_stop()
457 list_del(&tx_buf->list); in hif_usb_stop()
458 usb_free_urb(tx_buf->urb); in hif_usb_stop()
459 kfree(tx_buf->buf); in hif_usb_stop()
460 kfree(tx_buf); in hif_usb_stop()
777 struct tx_buf *tx_buf = NULL, *tx_buf_tmp = NULL; in ath9k_hif_usb_dealloc_tx_urbs() local
781 list_for_each_entry_safe(tx_buf, tx_buf_tmp, in ath9k_hif_usb_dealloc_tx_urbs()
782 &hif_dev->tx.tx_buf, list) { in ath9k_hif_usb_dealloc_tx_urbs()
783 usb_get_urb(tx_buf->urb); in ath9k_hif_usb_dealloc_tx_urbs()
785 usb_kill_urb(tx_buf->urb); in ath9k_hif_usb_dealloc_tx_urbs()
786 list_del(&tx_buf->list); in ath9k_hif_usb_dealloc_tx_urbs()
787 usb_free_urb(tx_buf->urb); in ath9k_hif_usb_dealloc_tx_urbs()
788 kfree(tx_buf->buf); in ath9k_hif_usb_dealloc_tx_urbs()
789 kfree(tx_buf); in ath9k_hif_usb_dealloc_tx_urbs()
799 list_for_each_entry_safe(tx_buf, tx_buf_tmp, in ath9k_hif_usb_dealloc_tx_urbs()
801 usb_get_urb(tx_buf->urb); in ath9k_hif_usb_dealloc_tx_urbs()
803 usb_kill_urb(tx_buf->urb); in ath9k_hif_usb_dealloc_tx_urbs()
804 list_del(&tx_buf->list); in ath9k_hif_usb_dealloc_tx_urbs()
805 usb_free_urb(tx_buf->urb); in ath9k_hif_usb_dealloc_tx_urbs()
806 kfree(tx_buf->buf); in ath9k_hif_usb_dealloc_tx_urbs()
807 kfree(tx_buf); in ath9k_hif_usb_dealloc_tx_urbs()
817 struct tx_buf *tx_buf; in ath9k_hif_usb_alloc_tx_urbs() local
820 INIT_LIST_HEAD(&hif_dev->tx.tx_buf); in ath9k_hif_usb_alloc_tx_urbs()
827 tx_buf = kzalloc(sizeof(*tx_buf), GFP_KERNEL); in ath9k_hif_usb_alloc_tx_urbs()
828 if (!tx_buf) in ath9k_hif_usb_alloc_tx_urbs()
831 tx_buf->buf = kzalloc(MAX_TX_BUF_SIZE, GFP_KERNEL); in ath9k_hif_usb_alloc_tx_urbs()
832 if (!tx_buf->buf) in ath9k_hif_usb_alloc_tx_urbs()
835 tx_buf->urb = usb_alloc_urb(0, GFP_KERNEL); in ath9k_hif_usb_alloc_tx_urbs()
836 if (!tx_buf->urb) in ath9k_hif_usb_alloc_tx_urbs()
839 tx_buf->hif_dev = hif_dev; in ath9k_hif_usb_alloc_tx_urbs()
840 __skb_queue_head_init(&tx_buf->skb_queue); in ath9k_hif_usb_alloc_tx_urbs()
842 list_add_tail(&tx_buf->list, &hif_dev->tx.tx_buf); in ath9k_hif_usb_alloc_tx_urbs()
849 if (tx_buf) { in ath9k_hif_usb_alloc_tx_urbs()
850 kfree(tx_buf->buf); in ath9k_hif_usb_alloc_tx_urbs()
851 kfree(tx_buf); in ath9k_hif_usb_alloc_tx_urbs()