Lines Matching refs:txb
180 void libipw_txb_free(struct libipw_txb *txb) in libipw_txb_free() argument
183 if (unlikely(!txb)) in libipw_txb_free()
185 for (i = 0; i < txb->nr_frags; i++) in libipw_txb_free()
186 if (txb->fragments[i]) in libipw_txb_free()
187 dev_kfree_skb_any(txb->fragments[i]); in libipw_txb_free()
188 kfree(txb); in libipw_txb_free()
194 struct libipw_txb *txb; in libipw_alloc_txb() local
196 txb = kmalloc(sizeof(struct libipw_txb) + (sizeof(u8 *) * nr_frags), in libipw_alloc_txb()
198 if (!txb) in libipw_alloc_txb()
201 memset(txb, 0, sizeof(struct libipw_txb)); in libipw_alloc_txb()
202 txb->nr_frags = nr_frags; in libipw_alloc_txb()
203 txb->frag_size = txb_size; in libipw_alloc_txb()
206 txb->fragments[i] = __dev_alloc_skb(txb_size + headroom, in libipw_alloc_txb()
208 if (unlikely(!txb->fragments[i])) { in libipw_alloc_txb()
212 skb_reserve(txb->fragments[i], headroom); in libipw_alloc_txb()
216 dev_kfree_skb_any(txb->fragments[i--]); in libipw_alloc_txb()
217 kfree(txb); in libipw_alloc_txb()
220 return txb; in libipw_alloc_txb()
258 struct libipw_txb *txb = NULL; in libipw_xmit() local
426 txb = libipw_alloc_txb(nr_frags, frag_size, in libipw_xmit()
428 if (unlikely(!txb)) { in libipw_xmit()
433 txb->encrypted = encrypt; in libipw_xmit()
435 txb->payload_size = frag_size * (nr_frags - 1) + in libipw_xmit()
438 txb->payload_size = bytes; in libipw_xmit()
441 skb_frag = txb->fragments[0]; in libipw_xmit()
461 txb->rts_included = 1; in libipw_xmit()
467 skb_frag = txb->fragments[i]; in libipw_xmit()
515 if (txb) { in libipw_xmit()
516 netdev_tx_t ret = (*ieee->hard_start_xmit)(txb, dev, priority); in libipw_xmit()
519 dev->stats.tx_bytes += txb->payload_size; in libipw_xmit()
523 libipw_txb_free(txb); in libipw_xmit()