Lines Matching refs:skb_aggr
47 mwifiex_11n_form_amsdu_pkt(struct sk_buff *skb_aggr, in mwifiex_11n_form_amsdu_pkt() argument
65 tx_header = (void *)skb_put(skb_aggr, sizeof(*tx_header)); in mwifiex_11n_form_amsdu_pkt()
84 memcpy(skb_put(skb_aggr, skb_src->len), skb_src->data, skb_src->len); in mwifiex_11n_form_amsdu_pkt()
87 *pad = (4 - ((unsigned long)skb_aggr->tail & 0x3)) % 4; in mwifiex_11n_form_amsdu_pkt()
89 return skb_aggr->len + *pad; in mwifiex_11n_form_amsdu_pkt()
171 struct sk_buff *skb_aggr, *skb_src; in mwifiex_11n_aggregate_pkt() local
186 skb_aggr = mwifiex_alloc_dma_align_buf(adapter->tx_buf_size, in mwifiex_11n_aggregate_pkt()
188 if (!skb_aggr) { in mwifiex_11n_aggregate_pkt()
193 skb_reserve(skb_aggr, MWIFIEX_MIN_DATA_HEADER_LEN); in mwifiex_11n_aggregate_pkt()
194 tx_info_aggr = MWIFIEX_SKB_TXCB(skb_aggr); in mwifiex_11n_aggregate_pkt()
203 skb_aggr->priority = skb_src->priority; in mwifiex_11n_aggregate_pkt()
204 skb_aggr->tstamp = skb_src->tstamp; in mwifiex_11n_aggregate_pkt()
206 skb_aggr->tstamp = ktime_get_real(); in mwifiex_11n_aggregate_pkt()
210 if (skb_tailroom(skb_aggr) < (skb_src->len + LLC_SNAP_LEN)) in mwifiex_11n_aggregate_pkt()
219 mwifiex_11n_form_amsdu_pkt(skb_aggr, skb_src, &pad); in mwifiex_11n_aggregate_pkt()
231 if (skb_tailroom(skb_aggr) < pad) { in mwifiex_11n_aggregate_pkt()
235 skb_put(skb_aggr, pad); in mwifiex_11n_aggregate_pkt()
244 skb_trim(skb_aggr, skb_aggr->len - pad); in mwifiex_11n_aggregate_pkt()
247 mwifiex_11n_form_amsdu_txpd(priv, skb_aggr); in mwifiex_11n_aggregate_pkt()
249 ptx_pd = (struct txpd *)skb_aggr->data; in mwifiex_11n_aggregate_pkt()
251 skb_push(skb_aggr, headroom); in mwifiex_11n_aggregate_pkt()
255 skb_queue_tail(&adapter->tx_data_q, skb_aggr); in mwifiex_11n_aggregate_pkt()
261 skb_aggr, NULL); in mwifiex_11n_aggregate_pkt()
270 skb_aggr, &tx_param); in mwifiex_11n_aggregate_pkt()
278 mwifiex_write_data_complete(adapter, skb_aggr, 1, -1); in mwifiex_11n_aggregate_pkt()
288 skb_queue_tail(&pra_list->skb_head, skb_aggr); in mwifiex_11n_aggregate_pkt()
303 mwifiex_write_data_complete(adapter, skb_aggr, 1, ret); in mwifiex_11n_aggregate_pkt()
308 mwifiex_write_data_complete(adapter, skb_aggr, 1, ret); in mwifiex_11n_aggregate_pkt()