Lines Matching refs:txb

166 void libipw_txb_free(struct libipw_txb *txb)  in libipw_txb_free()  argument
169 if (unlikely(!txb)) in libipw_txb_free()
171 for (i = 0; i < txb->nr_frags; i++) in libipw_txb_free()
172 if (txb->fragments[i]) in libipw_txb_free()
173 dev_kfree_skb_any(txb->fragments[i]); in libipw_txb_free()
174 kfree(txb); in libipw_txb_free()
180 struct libipw_txb *txb; in libipw_alloc_txb() local
183 txb = kmalloc(struct_size(txb, fragments, nr_frags), gfp_mask); in libipw_alloc_txb()
184 if (!txb) in libipw_alloc_txb()
187 memset(txb, 0, sizeof(struct libipw_txb)); in libipw_alloc_txb()
188 txb->nr_frags = nr_frags; in libipw_alloc_txb()
189 txb->frag_size = txb_size; in libipw_alloc_txb()
192 txb->fragments[i] = __dev_alloc_skb(txb_size + headroom, in libipw_alloc_txb()
194 if (unlikely(!txb->fragments[i])) { in libipw_alloc_txb()
198 skb_reserve(txb->fragments[i], headroom); in libipw_alloc_txb()
202 dev_kfree_skb_any(txb->fragments[i--]); in libipw_alloc_txb()
203 kfree(txb); in libipw_alloc_txb()
206 return txb; in libipw_alloc_txb()
244 struct libipw_txb *txb = NULL; in libipw_xmit() local
412 txb = libipw_alloc_txb(nr_frags, frag_size, in libipw_xmit()
414 if (unlikely(!txb)) { in libipw_xmit()
419 txb->encrypted = encrypt; in libipw_xmit()
421 txb->payload_size = frag_size * (nr_frags - 1) + in libipw_xmit()
424 txb->payload_size = bytes; in libipw_xmit()
427 skb_frag = txb->fragments[0]; in libipw_xmit()
446 txb->rts_included = 1; in libipw_xmit()
452 skb_frag = txb->fragments[i]; in libipw_xmit()
498 if (txb) { in libipw_xmit()
499 netdev_tx_t ret = (*ieee->hard_start_xmit)(txb, dev, priority); in libipw_xmit()
502 dev->stats.tx_bytes += txb->payload_size; in libipw_xmit()
506 libipw_txb_free(txb); in libipw_xmit()