Lines Matching refs:skb

41 	struct sk_buff *skb;  in islpci_eth_cleanup_transmit()  local
56 skb = priv->data_low_tx[index]; in islpci_eth_cleanup_transmit()
61 skb, skb->data, skb->len, skb->truesize); in islpci_eth_cleanup_transmit()
66 skb->len, PCI_DMA_TODEVICE); in islpci_eth_cleanup_transmit()
67 dev_kfree_skb_irq(skb); in islpci_eth_cleanup_transmit()
68 skb = NULL; in islpci_eth_cleanup_transmit()
76 islpci_eth_transmit(struct sk_buff *skb, struct net_device *ndev) in islpci_eth_transmit() argument
114 if (likely(((long) skb->data & 0x03) | init_wds)) { in islpci_eth_transmit()
116 offset = (4 - (long) skb->data) & 0x03; in islpci_eth_transmit()
120 if (!skb_cloned(skb) && (skb_tailroom(skb) >= offset)) { in islpci_eth_transmit()
121 unsigned char *src = skb->data; in islpci_eth_transmit()
129 skb_reserve(skb, (4 - (long) skb->data) & 0x03); in islpci_eth_transmit()
132 skb_put(skb, 6); in islpci_eth_transmit()
136 memmove(skb->data + 6, src, skb->len); in islpci_eth_transmit()
137 skb_copy_to_linear_data(skb, wds_mac, 6); in islpci_eth_transmit()
139 memmove(skb->data, src, skb->len); in islpci_eth_transmit()
143 DEBUG(SHOW_TRACING, "memmove %p %p %i\n", skb->data, in islpci_eth_transmit()
144 src, skb->len); in islpci_eth_transmit()
148 dev_alloc_skb(init_wds ? skb->len + 6 : skb->len); in islpci_eth_transmit()
160 skb_put(newskb, init_wds ? skb->len + 6 : skb->len); in islpci_eth_transmit()
162 skb_copy_from_linear_data(skb, in islpci_eth_transmit()
164 skb->len); in islpci_eth_transmit()
170 skb_copy_from_linear_data(skb, newskb->data, in islpci_eth_transmit()
171 skb->len); in islpci_eth_transmit()
175 newskb->data, skb->data, skb->len, init_wds); in islpci_eth_transmit()
178 newskb->dev = skb->dev; in islpci_eth_transmit()
179 dev_kfree_skb_irq(skb); in islpci_eth_transmit()
180 skb = newskb; in islpci_eth_transmit()
185 DEBUG(SHOW_BUFFER_CONTENTS, "\ntx %p ", skb->data); in islpci_eth_transmit()
186 display_buffer((char *) skb->data, skb->len); in islpci_eth_transmit()
191 (void *) skb->data, skb->len, in islpci_eth_transmit()
204 priv->data_low_tx[index] = skb; in islpci_eth_transmit()
206 frame_size = skb->len; in islpci_eth_transmit()
227 ndev->stats.tx_bytes += skb->len; in islpci_eth_transmit()
240 dev_kfree_skb(skb); in islpci_eth_transmit()
245 islpci_monitor_rx(islpci_private *priv, struct sk_buff **skb) in islpci_monitor_rx() argument
250 struct rfmon_header *hdr = (struct rfmon_header *) (*skb)->data; in islpci_monitor_rx()
263 skb_pull(*skb, sizeof (struct rfmon_header)); in islpci_monitor_rx()
265 if (skb_headroom(*skb) < sizeof (struct avs_80211_1_header)) { in islpci_monitor_rx()
266 struct sk_buff *newskb = skb_copy_expand(*skb, in islpci_monitor_rx()
271 dev_kfree_skb_irq(*skb); in islpci_monitor_rx()
272 *skb = newskb; in islpci_monitor_rx()
280 (struct avs_80211_1_header *) skb_push(*skb, in islpci_monitor_rx()
299 skb_pull(*skb, sizeof (struct rfmon_header)); in islpci_monitor_rx()
301 (*skb)->protocol = htons(ETH_P_802_2); in islpci_monitor_rx()
302 skb_reset_mac_header(*skb); in islpci_monitor_rx()
303 (*skb)->pkt_type = PACKET_OTHERHOST; in islpci_monitor_rx()
313 struct sk_buff *skb; in islpci_eth_receive() local
327 skb = priv->data_low_rx[index]; in islpci_eth_receive()
330 (unsigned long) skb->data) & 3; in islpci_eth_receive()
335 control_block->rx_data_low[priv->free_data_rx].address, skb->data, in islpci_eth_receive()
336 skb->len, offset, skb->truesize); in islpci_eth_receive()
345 skb_put(skb, size); in islpci_eth_receive()
348 skb_pull(skb, 2); in islpci_eth_receive()
349 skb_put(skb, 2); in islpci_eth_receive()
353 DEBUG(SHOW_BUFFER_CONTENTS, "\nrx %p ", skb->data); in islpci_eth_receive()
354 display_buffer((char *) skb->data, skb->len); in islpci_eth_receive()
361 src = skb->data + 6; in islpci_eth_receive()
362 memmove(skb->data, src, skb->len - 6); in islpci_eth_receive()
363 skb_trim(skb, skb->len - 6); in islpci_eth_receive()
366 DEBUG(SHOW_TRACING, "Fragment size %i in skb at %p\n", size, skb); in islpci_eth_receive()
367 DEBUG(SHOW_TRACING, "Skb data at %p, length %i\n", skb->data, skb->len); in islpci_eth_receive()
370 DEBUG(SHOW_BUFFER_CONTENTS, "\nrx %p ", skb->data); in islpci_eth_receive()
371 display_buffer((char *) skb->data, skb->len); in islpci_eth_receive()
375 skb->dev = ndev; in islpci_eth_receive()
376 discard = islpci_monitor_rx(priv, &skb); in islpci_eth_receive()
378 if (unlikely(skb->data[2 * ETH_ALEN] == 0)) { in islpci_eth_receive()
384 (struct rx_annex_header *) skb->data; in islpci_eth_receive()
394 skb_copy_from_linear_data(skb, in islpci_eth_receive()
395 (skb->data + in islpci_eth_receive()
398 skb_pull(skb, sizeof (struct rfmon_header)); in islpci_eth_receive()
400 skb->protocol = eth_type_trans(skb, ndev); in islpci_eth_receive()
402 skb->ip_summed = CHECKSUM_NONE; in islpci_eth_receive()
410 skb->data[0], skb->data[1], skb->data[2], skb->data[3], in islpci_eth_receive()
411 skb->data[4], skb->data[5]); in islpci_eth_receive()
414 dev_kfree_skb_irq(skb); in islpci_eth_receive()
415 skb = NULL; in islpci_eth_receive()
417 netif_rx(skb); in islpci_eth_receive()
429 skb = dev_alloc_skb(MAX_FRAGMENT_SIZE_RX + 2); in islpci_eth_receive()
430 if (unlikely(skb == NULL)) { in islpci_eth_receive()
435 skb_reserve(skb, (4 - (long) skb->data) & 0x03); in islpci_eth_receive()
438 priv->data_low_rx[index] = skb; in islpci_eth_receive()
443 skb, skb->data, skb->len, index, skb->truesize); in islpci_eth_receive()
448 pci_map_single(priv->pdev, (void *) skb->data, in islpci_eth_receive()
457 dev_kfree_skb_irq(skb); in islpci_eth_receive()
458 skb = NULL; in islpci_eth_receive()