• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/net/wimax/i2400m/

Lines Matching defs:skb

85 	struct sk_buff *skb = i2400m->wake_tx_skb;
89 skb = i2400m->wake_tx_skb;
93 d_fnstart(3, dev, "(ws %p i2400m %p skb %p)\n", ws, i2400m, skb);
95 if (skb == NULL) {
96 dev_err(dev, "WAKE&TX: skb dissapeared!\n");
125 result = i2400m_tx(i2400m, skb->data, skb->len, I2400M_PT_DATA);
129 kfree_skb(skb); /* refcount transferred by _hard_start_xmit() */
132 d_fnend(3, dev, "(ws %p i2400m %p skb %p) = void [%d]\n",
133 ws, i2400m, skb, result);
146 void i2400m_tx_prep_header(struct sk_buff *skb)
149 skb_pull(skb, ETH_HLEN);
150 pl_hdr = (struct i2400m_pl_data_hdr *) skb_push(skb, sizeof(*pl_hdr));
187 * TX an skb to an idle device
192 * We need to get an extra ref for the skb (so it is not dropped), as
199 struct sk_buff *skb)
205 d_fnstart(3, dev, "(skb %p net_dev %p)\n", skb, net_dev);
208 "skb %p sending %d bytes to radio\n",
209 skb, skb->len);
210 d_dump(4, dev, skb->data, skb->len);
212 /* We hold a ref count for i2400m and skb, so when
220 i2400m->wake_tx_skb = skb_get(skb); /* transfer ref count */
221 i2400m_tx_prep_header(skb);
233 "dropping skb %p, queue running %d\n",
234 skb, netif_queue_stopped(net_dev));
237 d_fnend(3, dev, "(skb %p net_dev %p) = %d\n", skb, net_dev, result);
252 struct sk_buff *skb)
257 d_fnstart(3, dev, "(i2400m %p net_dev %p skb %p)\n",
258 i2400m, net_dev, skb);
260 i2400m_tx_prep_header(skb);
261 d_printf(3, dev, "NETTX: skb %p sending %d bytes to radio\n",
262 skb, skb->len);
263 d_dump(4, dev, skb->data, skb->len);
264 result = i2400m_tx(i2400m, skb->data, skb->len, I2400M_PT_DATA);
265 d_fnend(3, dev, "(i2400m %p net_dev %p skb %p) = %d\n",
266 i2400m, net_dev, skb, result);
279 * - we add a hw header to each skb, and if the network stack
280 * retries, we have no way to know if that skb has it or not.
290 netdev_tx_t i2400m_hard_start_xmit(struct sk_buff *skb,
297 d_fnstart(3, dev, "(skb %p net_dev %p)\n", skb, net_dev);
298 if (skb_header_cloned(skb)) {
301 * running, the skb is cloned and we will overwrite
305 result = pskb_expand_head(skb, 0, 0, GFP_ATOMIC);
313 result = i2400m_net_wake_tx(i2400m, net_dev, skb);
315 result = i2400m_net_tx(i2400m, net_dev, skb);
320 net_dev->stats.tx_bytes += skb->len;
324 kfree_skb(skb);
325 d_fnend(3, dev, "(skb %p net_dev %p) = %d\n", skb, net_dev, result);
389 struct sk_buff *skb;
394 skb = skb_get(skb_rx);
395 d_printf(2, dev, "RX: reusing first payload skb %p\n", skb);
396 skb_pull(skb, buf - (void *) skb->data);
397 skb_trim(skb, (void *) skb_end_pointer(skb) - buf);
401 skb = __netdev_alloc_skb(net_dev, buf_len, GFP_KERNEL);
402 if (skb == NULL) {
403 dev_err(dev, "NETRX: no memory to realloc skb\n");
407 memcpy(skb_put(skb, buf_len), buf, buf_len);
410 skb->data - ETH_HLEN,
412 skb_set_mac_header(skb, -ETH_HLEN);
413 skb->dev = i2400m->wimax_dev.net_dev;
414 skb->protocol = htons(ETH_P_IP);
420 netif_rx_ni(skb); /* see notes in function header */
427 void i2400m_net_erx(struct i2400m *i2400m, struct sk_buff *skb,
434 d_fnstart(2, dev, "(i2400m %p skb %p [%u] cs %d)\n",
435 i2400m, skb, skb->len, cs);
441 skb->data - ETH_HLEN,
443 skb_set_mac_header(skb, -ETH_HLEN);
444 skb->dev = i2400m->wimax_dev.net_dev;
445 skb->protocol = htons(ETH_P_IP);
447 net_dev->stats.rx_bytes += skb->len;
455 skb->len);
456 d_dump(4, dev, skb->data, skb->len);
457 netif_rx_ni(skb); /* see notes in function header */
459 d_fnend(2, dev, "(i2400m %p skb %p [%u] cs %d) = void\n",
460 i2400m, skb, skb->len, cs);