Lines Matching refs:skb
26 struct sk_buff *skb, *tmp; in mwifiex_uap_del_tx_pkts_in_ralist() local
35 skb_queue_walk_safe(&ra_list->skb_head, skb, tmp) { in mwifiex_uap_del_tx_pkts_in_ralist()
36 tx_info = MWIFIEX_SKB_TXCB(skb); in mwifiex_uap_del_tx_pkts_in_ralist()
38 __skb_unlink(skb, &ra_list->skb_head); in mwifiex_uap_del_tx_pkts_in_ralist()
39 mwifiex_write_data_complete(adapter, skb, 0, in mwifiex_uap_del_tx_pkts_in_ralist()
82 struct sk_buff *skb) in mwifiex_uap_queue_bridged_pkt() argument
94 uap_rx_pd = (struct uap_rxpd *)(skb->data); in mwifiex_uap_queue_bridged_pkt()
101 kfree_skb(skb); in mwifiex_uap_queue_bridged_pkt()
107 le16_to_cpu(uap_rx_pd->rx_pkt_offset) > skb->len) { in mwifiex_uap_queue_bridged_pkt()
110 skb->len, le16_to_cpu(uap_rx_pd->rx_pkt_offset)); in mwifiex_uap_queue_bridged_pkt()
112 dev_kfree_skb_any(skb); in mwifiex_uap_queue_bridged_pkt()
156 skb_pull(skb, hdr_chop); in mwifiex_uap_queue_bridged_pkt()
158 if (skb_headroom(skb) < MWIFIEX_MIN_DATA_HEADER_LEN) { in mwifiex_uap_queue_bridged_pkt()
161 skb_headroom(skb)); in mwifiex_uap_queue_bridged_pkt()
164 skb_realloc_headroom(skb, MWIFIEX_MIN_DATA_HEADER_LEN); in mwifiex_uap_queue_bridged_pkt()
168 kfree_skb(skb); in mwifiex_uap_queue_bridged_pkt()
173 kfree_skb(skb); in mwifiex_uap_queue_bridged_pkt()
174 skb = new_skb; in mwifiex_uap_queue_bridged_pkt()
177 skb_headroom(skb)); in mwifiex_uap_queue_bridged_pkt()
180 tx_info = MWIFIEX_SKB_TXCB(skb); in mwifiex_uap_queue_bridged_pkt()
189 src_node->stats.rx_bytes += skb->len; in mwifiex_uap_queue_bridged_pkt()
199 priv->stats.rx_bytes += skb->len; in mwifiex_uap_queue_bridged_pkt()
205 tx_info->pkt_len = skb->len; in mwifiex_uap_queue_bridged_pkt()
208 __net_timestamp(skb); in mwifiex_uap_queue_bridged_pkt()
210 index = mwifiex_1d_to_wmm_queue[skb->priority]; in mwifiex_uap_queue_bridged_pkt()
212 mwifiex_wmm_add_buf_txqueue(priv, skb); in mwifiex_uap_queue_bridged_pkt()
233 struct sk_buff *skb) in mwifiex_handle_uap_rx_forward() argument
241 uap_rx_pd = (struct uap_rxpd *)(skb->data); in mwifiex_handle_uap_rx_forward()
248 dev_kfree_skb_any(skb); in mwifiex_handle_uap_rx_forward()
255 skb_uap = skb_copy(skb, GFP_ATOMIC); in mwifiex_handle_uap_rx_forward()
262 dev_kfree_skb_any(skb); in mwifiex_handle_uap_rx_forward()
268 mwifiex_uap_queue_bridged_pkt(priv, skb); in mwifiex_handle_uap_rx_forward()
274 return mwifiex_process_rx_packet(priv, skb); in mwifiex_handle_uap_rx_forward()
278 struct sk_buff *skb) in mwifiex_uap_recv_packet() argument
286 if (!skb) in mwifiex_uap_recv_packet()
289 p_ethhdr = (void *)skb->data; in mwifiex_uap_recv_packet()
293 src_node->stats.rx_bytes += skb->len; in mwifiex_uap_recv_packet()
299 if (skb_headroom(skb) < MWIFIEX_MIN_DATA_HEADER_LEN) in mwifiex_uap_recv_packet()
301 skb_realloc_headroom(skb, MWIFIEX_MIN_DATA_HEADER_LEN); in mwifiex_uap_recv_packet()
303 skb_uap = skb_copy(skb, GFP_ATOMIC); in mwifiex_uap_recv_packet()
332 skb->dev = priv->netdev; in mwifiex_uap_recv_packet()
333 skb->protocol = eth_type_trans(skb, priv->netdev); in mwifiex_uap_recv_packet()
334 skb->ip_summed = CHECKSUM_NONE; in mwifiex_uap_recv_packet()
355 skb->truesize > MWIFIEX_RX_DATA_BUF_SIZE) in mwifiex_uap_recv_packet()
356 skb->truesize += (skb->len - MWIFIEX_RX_DATA_BUF_SIZE); in mwifiex_uap_recv_packet()
359 netif_rx(skb); in mwifiex_uap_recv_packet()
374 struct sk_buff *skb) in mwifiex_process_uap_rx_packet() argument
384 uap_rx_pd = (struct uap_rxpd *)(skb->data); in mwifiex_process_uap_rx_packet()
389 sizeof(rx_pkt_hdr->eth803_hdr) > skb->len) { in mwifiex_process_uap_rx_packet()
392 skb->len, le16_to_cpu(uap_rx_pd->rx_pkt_offset)); in mwifiex_process_uap_rx_packet()
394 dev_kfree_skb_any(skb); in mwifiex_process_uap_rx_packet()
401 le16_to_cpu(uap_rx_pd->rx_pkt_length)) > (u16) skb->len) { in mwifiex_process_uap_rx_packet()
404 skb->len, le16_to_cpu(uap_rx_pd->rx_pkt_offset), in mwifiex_process_uap_rx_packet()
412 dev_kfree_skb_any(skb); in mwifiex_process_uap_rx_packet()
417 ret = mwifiex_process_mgmt_packet(priv, skb); in mwifiex_process_uap_rx_packet()
420 dev_kfree_skb_any(skb); in mwifiex_process_uap_rx_packet()
437 ret = mwifiex_handle_uap_rx_forward(priv, skb); in mwifiex_process_uap_rx_packet()
445 skb); in mwifiex_process_uap_rx_packet()
448 dev_kfree_skb_any(skb); in mwifiex_process_uap_rx_packet()
474 struct sk_buff *skb) in mwifiex_process_uap_txpd() argument
478 struct mwifiex_txinfo *tx_info = MWIFIEX_SKB_TXCB(skb); in mwifiex_process_uap_txpd()
483 pkt_type = mwifiex_is_skb_mgmt_frame(skb) ? PKT_TYPE_MGMT : 0; in mwifiex_process_uap_txpd()
485 pad = ((uintptr_t)skb->data - (sizeof(*txpd) + hroom)) & in mwifiex_process_uap_txpd()
488 skb_push(skb, sizeof(*txpd) + pad); in mwifiex_process_uap_txpd()
490 txpd = (struct uap_txpd *)skb->data; in mwifiex_process_uap_txpd()
494 txpd->tx_pkt_length = cpu_to_le16((u16)(skb->len - (sizeof(*txpd) + in mwifiex_process_uap_txpd()
496 txpd->priority = (u8)skb->priority; in mwifiex_process_uap_txpd()
498 txpd->pkt_delay_2ms = mwifiex_wmm_compute_drv_pkt_delay(priv, skb); in mwifiex_process_uap_txpd()
525 skb_push(skb, hroom); in mwifiex_process_uap_txpd()