Lines Matching refs:skb

38 	struct sk_buff *skb, *tmp;  in mwifiex_uap_del_tx_pkts_in_ralist()  local
47 skb_queue_walk_safe(&ra_list->skb_head, skb, tmp) { in mwifiex_uap_del_tx_pkts_in_ralist()
48 tx_info = MWIFIEX_SKB_TXCB(skb); in mwifiex_uap_del_tx_pkts_in_ralist()
50 __skb_unlink(skb, &ra_list->skb_head); in mwifiex_uap_del_tx_pkts_in_ralist()
51 mwifiex_write_data_complete(adapter, skb, 0, in mwifiex_uap_del_tx_pkts_in_ralist()
95 struct sk_buff *skb) in mwifiex_uap_queue_bridged_pkt() argument
106 uap_rx_pd = (struct uap_rxpd *)(skb->data); in mwifiex_uap_queue_bridged_pkt()
113 kfree_skb(skb); in mwifiex_uap_queue_bridged_pkt()
158 skb_pull(skb, hdr_chop); in mwifiex_uap_queue_bridged_pkt()
160 if (skb_headroom(skb) < MWIFIEX_MIN_DATA_HEADER_LEN) { in mwifiex_uap_queue_bridged_pkt()
163 skb_headroom(skb)); in mwifiex_uap_queue_bridged_pkt()
166 skb_realloc_headroom(skb, MWIFIEX_MIN_DATA_HEADER_LEN); in mwifiex_uap_queue_bridged_pkt()
170 kfree_skb(skb); in mwifiex_uap_queue_bridged_pkt()
175 kfree_skb(skb); in mwifiex_uap_queue_bridged_pkt()
176 skb = new_skb; in mwifiex_uap_queue_bridged_pkt()
179 skb_headroom(skb)); in mwifiex_uap_queue_bridged_pkt()
182 tx_info = MWIFIEX_SKB_TXCB(skb); in mwifiex_uap_queue_bridged_pkt()
191 src_node->stats.rx_bytes += skb->len; in mwifiex_uap_queue_bridged_pkt()
201 priv->stats.rx_bytes += skb->len; in mwifiex_uap_queue_bridged_pkt()
207 tx_info->pkt_len = skb->len; in mwifiex_uap_queue_bridged_pkt()
210 __net_timestamp(skb); in mwifiex_uap_queue_bridged_pkt()
211 mwifiex_wmm_add_buf_txqueue(priv, skb); in mwifiex_uap_queue_bridged_pkt()
230 struct sk_buff *skb) in mwifiex_handle_uap_rx_forward() argument
238 uap_rx_pd = (struct uap_rxpd *)(skb->data); in mwifiex_handle_uap_rx_forward()
245 dev_kfree_skb_any(skb); in mwifiex_handle_uap_rx_forward()
252 skb_uap = skb_copy(skb, GFP_ATOMIC); in mwifiex_handle_uap_rx_forward()
257 mwifiex_uap_queue_bridged_pkt(priv, skb); in mwifiex_handle_uap_rx_forward()
263 return mwifiex_process_rx_packet(priv, skb); in mwifiex_handle_uap_rx_forward()
277 struct sk_buff *skb) in mwifiex_process_uap_rx_packet() argument
288 uap_rx_pd = (struct uap_rxpd *)(skb->data); in mwifiex_process_uap_rx_packet()
295 le16_to_cpu(uap_rx_pd->rx_pkt_length)) > (u16) skb->len) { in mwifiex_process_uap_rx_packet()
298 skb->len, le16_to_cpu(uap_rx_pd->rx_pkt_offset), in mwifiex_process_uap_rx_packet()
306 dev_kfree_skb_any(skb); in mwifiex_process_uap_rx_packet()
311 ret = mwifiex_process_mgmt_packet(priv, skb); in mwifiex_process_uap_rx_packet()
315 dev_kfree_skb_any(skb); in mwifiex_process_uap_rx_packet()
332 ret = mwifiex_handle_uap_rx_forward(priv, skb); in mwifiex_process_uap_rx_packet()
340 skb); in mwifiex_process_uap_rx_packet()
343 dev_kfree_skb_any(skb); in mwifiex_process_uap_rx_packet()
369 struct sk_buff *skb) in mwifiex_process_uap_txpd() argument
373 struct mwifiex_txinfo *tx_info = MWIFIEX_SKB_TXCB(skb); in mwifiex_process_uap_txpd()
379 if (!skb->len) { in mwifiex_process_uap_txpd()
381 "Tx: bad packet length: %d\n", skb->len); in mwifiex_process_uap_txpd()
383 return skb->data; in mwifiex_process_uap_txpd()
386 BUG_ON(skb_headroom(skb) < MWIFIEX_MIN_DATA_HEADER_LEN); in mwifiex_process_uap_txpd()
388 pkt_type = mwifiex_is_skb_mgmt_frame(skb) ? PKT_TYPE_MGMT : 0; in mwifiex_process_uap_txpd()
390 pad = ((void *)skb->data - (sizeof(*txpd) + hroom) - NULL) & in mwifiex_process_uap_txpd()
393 skb_push(skb, sizeof(*txpd) + pad); in mwifiex_process_uap_txpd()
395 txpd = (struct uap_txpd *)skb->data; in mwifiex_process_uap_txpd()
399 txpd->tx_pkt_length = cpu_to_le16((u16)(skb->len - (sizeof(*txpd) + in mwifiex_process_uap_txpd()
401 txpd->priority = (u8)skb->priority; in mwifiex_process_uap_txpd()
403 txpd->pkt_delay_2ms = mwifiex_wmm_compute_drv_pkt_delay(priv, skb); in mwifiex_process_uap_txpd()
430 skb_push(skb, hroom); in mwifiex_process_uap_txpd()
436 return skb->data; in mwifiex_process_uap_txpd()