Skip to content

Commit

Permalink
[ETH]: Make eth_type_trans set skb->dev like the other *_type_trans
Browse files Browse the repository at this point in the history
One less thing for drivers writers to worry about.

Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
acmel authored and David S. Miller committed Apr 26, 2007
1 parent 029720f commit 4c13eb6
Show file tree
Hide file tree
Showing 165 changed files with 15 additions and 230 deletions.
1 change: 0 additions & 1 deletion arch/ia64/hp/sim/simeth.c
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,6 @@ make_new_skb(struct net_device *dev)
printk(KERN_NOTICE "%s: memory squeeze. dropping packet.\n", dev->name);
return NULL;
}
nskb->dev = dev;

skb_reserve(nskb, 2); /* Align IP on 16 byte boundaries */

Expand Down
1 change: 0 additions & 1 deletion arch/ia64/sn/kernel/xpnet.c
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,6 @@ xpnet_receive(partid_t partid, int channel, struct xpnet_message *msg)
(void *) skb->data, (void *) skb->tail, (void *) skb->end,
skb->len);

skb->dev = xpnet_device;
skb->protocol = eth_type_trans(skb, xpnet_device);
skb->ip_summed = CHECKSUM_UNNECESSARY;

Expand Down
1 change: 0 additions & 1 deletion arch/ppc/8260_io/enet.c
Original file line number Diff line number Diff line change
Expand Up @@ -477,7 +477,6 @@ for (;;) {
cep->stats.rx_dropped++;
}
else {
skb->dev = dev;
skb_put(skb,pkt_len-4); /* Make room */
eth_copy_and_sum(skb,
(unsigned char *)__va(bdp->cbd_bufaddr),
Expand Down
1 change: 0 additions & 1 deletion arch/ppc/8260_io/fcc_enet.c
Original file line number Diff line number Diff line change
Expand Up @@ -734,7 +734,6 @@ for (;;) {
cep->stats.rx_dropped++;
}
else {
skb->dev = dev;
skb_put(skb,pkt_len); /* Make room */
eth_copy_and_sum(skb,
(unsigned char *)__va(bdp->cbd_bufaddr),
Expand Down
1 change: 0 additions & 1 deletion arch/ppc/8xx_io/enet.c
Original file line number Diff line number Diff line change
Expand Up @@ -506,7 +506,6 @@ for (;;) {
cep->stats.rx_dropped++;
}
else {
skb->dev = dev;
skb_put(skb,pkt_len-4); /* Make room */
eth_copy_and_sum(skb,
cep->rx_vaddr[bdp - cep->rx_bd_base],
Expand Down
1 change: 0 additions & 1 deletion arch/ppc/8xx_io/fec.c
Original file line number Diff line number Diff line change
Expand Up @@ -724,7 +724,6 @@ while (!(bdp->cbd_sc & BD_ENET_RX_EMPTY)) {
printk("%s: Memory squeeze, dropping packet.\n", dev->name);
fep->stats.rx_dropped++;
} else {
skb->dev = dev;
skb_put(skb,pkt_len-4); /* Make room */
eth_copy_and_sum(skb, data, pkt_len-4, 0);
skb->protocol=eth_type_trans(skb,dev);
Expand Down
1 change: 0 additions & 1 deletion drivers/infiniband/hw/amso1100/c2.c
Original file line number Diff line number Diff line change
Expand Up @@ -523,7 +523,6 @@ static void c2_rx_interrupt(struct net_device *netdev)
skb->data += sizeof(*rxp_hdr);
skb->tail = skb->data + buflen;
skb->len = buflen;
skb->dev = netdev;
skb->protocol = eth_type_trans(skb, netdev);

netif_rx(skb);
Expand Down
2 changes: 0 additions & 2 deletions drivers/isdn/hysdn/hysdn_net.c
Original file line number Diff line number Diff line change
Expand Up @@ -214,8 +214,6 @@ hysdn_rx_netpkt(hysdn_card * card, unsigned char *buf, unsigned short len)
lp->stats.rx_dropped++;
return;
}
skb->dev = &lp->netdev;

/* copy the data */
memcpy(skb_put(skb, len), buf, len);

Expand Down
1 change: 0 additions & 1 deletion drivers/net/3c501.c
Original file line number Diff line number Diff line change
Expand Up @@ -735,7 +735,6 @@ static void el_receive(struct net_device *dev)
else
{
skb_reserve(skb,2); /* Force 16 byte alignment */
skb->dev = dev;
/*
* The read increments through the bytes. The interrupt
* handler will fix the pointer when it returns to
Expand Down
1 change: 0 additions & 1 deletion drivers/net/3c505.c
Original file line number Diff line number Diff line change
Expand Up @@ -615,7 +615,6 @@ static void receive_packet(struct net_device *dev, int len)
if (test_and_set_bit(0, (void *) &adapter->dmaing))
printk(KERN_ERR "%s: rx blocked, DMA in progress, dir %d\n", dev->name, adapter->current_dma.direction);

skb->dev = dev;
adapter->current_dma.direction = 0;
adapter->current_dma.length = rlen;
adapter->current_dma.skb = skb;
Expand Down
1 change: 0 additions & 1 deletion drivers/net/3c507.c
Original file line number Diff line number Diff line change
Expand Up @@ -873,7 +873,6 @@ static void el16_rx(struct net_device *dev)
}

skb_reserve(skb,2);
skb->dev = dev;

/* 'skb->data' points to the start of sk_buff data area. */
memcpy_fromio(skb_put(skb,pkt_len), data_frame + 10, pkt_len);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/3c509.c
Original file line number Diff line number Diff line change
Expand Up @@ -1091,7 +1091,6 @@ el3_rx(struct net_device *dev)
printk("Receiving packet size %d status %4.4x.\n",
pkt_len, rx_status);
if (skb != NULL) {
skb->dev = dev;
skb_reserve(skb, 2); /* Align IP on 16 byte */

/* 'skb->data' points to the start of sk_buff data area. */
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/3c515.c
Original file line number Diff line number Diff line change
Expand Up @@ -1292,7 +1292,6 @@ static int corkscrew_rx(struct net_device *dev)
printk("Receiving packet size %d status %4.4x.\n",
pkt_len, rx_status);
if (skb != NULL) {
skb->dev = dev;
skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
/* 'skb_put()' points to the start of sk_buff data area. */
insl(ioaddr + RX_FIFO,
Expand Down Expand Up @@ -1363,7 +1362,6 @@ static int boomerang_rx(struct net_device *dev)
copying to a properly sized skbuff. */
if (pkt_len < rx_copybreak
&& (skb = dev_alloc_skb(pkt_len + 4)) != 0) {
skb->dev = dev;
skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
/* 'skb_put()' points to the start of sk_buff data area. */
memcpy(skb_put(skb, pkt_len),
Expand Down
1 change: 0 additions & 1 deletion drivers/net/3c523.c
Original file line number Diff line number Diff line change
Expand Up @@ -988,7 +988,6 @@ static void elmc_rcv_int(struct net_device *dev)
rbd->status = 0;
skb = (struct sk_buff *) dev_alloc_skb(totlen + 2);
if (skb != NULL) {
skb->dev = dev;
skb_reserve(skb, 2); /* 16 byte alignment */
skb_put(skb,totlen);
eth_copy_and_sum(skb, (char *) p->base+(unsigned long) rbd->buffer,totlen,0);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/3c527.c
Original file line number Diff line number Diff line change
Expand Up @@ -1189,7 +1189,6 @@ static void mc32_rx_ring(struct net_device *dev)
}

skb->protocol=eth_type_trans(skb,dev);
skb->dev=dev;
dev->last_rx = jiffies;
lp->net_stats.rx_packets++;
lp->net_stats.rx_bytes += length;
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/3c59x.c
Original file line number Diff line number Diff line change
Expand Up @@ -2414,7 +2414,6 @@ static int vortex_rx(struct net_device *dev)
printk(KERN_DEBUG "Receiving packet size %d status %4.4x.\n",
pkt_len, rx_status);
if (skb != NULL) {
skb->dev = dev;
skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
/* 'skb_put()' points to the start of sk_buff data area. */
if (vp->bus_master &&
Expand Down Expand Up @@ -2491,7 +2490,6 @@ boomerang_rx(struct net_device *dev)
/* Check if the packet is long enough to just accept without
copying to a properly sized skbuff. */
if (pkt_len < rx_copybreak && (skb = dev_alloc_skb(pkt_len + 2)) != 0) {
skb->dev = dev;
skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
pci_dma_sync_single_for_cpu(VORTEX_PCI(vp), dma, PKT_BUF_SZ, PCI_DMA_FROMDEVICE);
/* 'skb_put()' points to the start of sk_buff data area. */
Expand Down
1 change: 0 additions & 1 deletion drivers/net/7990.c
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,6 @@ static int lance_rx (struct net_device *dev)
return 0;
}

skb->dev = dev;
skb_reserve (skb, 2); /* 16 byte align */
skb_put (skb, len); /* make room */
eth_copy_and_sum(skb,
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/8139cp.c
Original file line number Diff line number Diff line change
Expand Up @@ -573,7 +573,6 @@ static int cp_rx_poll (struct net_device *dev, int *budget)
}

skb_reserve(new_skb, RX_OFFSET);
new_skb->dev = dev;

pci_unmap_single(cp->pdev, mapping,
buflen, PCI_DMA_FROMDEVICE);
Expand Down Expand Up @@ -1082,7 +1081,6 @@ static int cp_refill_rx (struct cp_private *cp)
if (!skb)
goto err_out;

skb->dev = cp->dev;
skb_reserve(skb, RX_OFFSET);

mapping = pci_map_single(cp->pdev, skb->data, cp->rx_buf_sz,
Expand Down
1 change: 0 additions & 1 deletion drivers/net/8139too.c
Original file line number Diff line number Diff line change
Expand Up @@ -2013,7 +2013,6 @@ static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp,

skb = dev_alloc_skb (pkt_size + 2);
if (likely(skb)) {
skb->dev = dev;
skb_reserve (skb, 2); /* 16 byte align the IP fields. */
#if RX_BUF_IDX == 3
wrap_copy(skb, rx_ring, ring_offset+4, pkt_size);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/82596.c
Original file line number Diff line number Diff line change
Expand Up @@ -830,7 +830,6 @@ static inline int i596_rx(struct net_device *dev)
lp->stats.rx_dropped++;
}
else {
skb->dev = dev;
if (!rx_in_place) {
/* 16 byte align the data fields */
skb_reserve(skb, 2);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/a2065.c
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,6 @@ static int lance_rx (struct net_device *dev)
return 0;
}

skb->dev = dev;
skb_reserve (skb, 2); /* 16 byte align */
skb_put (skb, len); /* make room */
eth_copy_and_sum(skb,
Expand Down
1 change: 0 additions & 1 deletion drivers/net/acenic.c
Original file line number Diff line number Diff line change
Expand Up @@ -2027,7 +2027,6 @@ static void ace_rx_int(struct net_device *dev, u32 rxretprd, u32 rxretcsm)
*/
csum = retdesc->tcp_udp_csum;

skb->dev = dev;
skb->protocol = eth_type_trans(skb, dev);

/*
Expand Down
4 changes: 0 additions & 4 deletions drivers/net/amd8111e.c
Original file line number Diff line number Diff line change
Expand Up @@ -798,9 +798,7 @@ static int amd8111e_rx_poll(struct net_device *dev, int * budget)
pci_unmap_single(lp->pci_dev,lp->rx_dma_addr[rx_index],
lp->rx_buff_len-2, PCI_DMA_FROMDEVICE);
skb_put(skb, pkt_len);
skb->dev = dev;
lp->rx_skbuff[rx_index] = new_skb;
new_skb->dev = dev;
lp->rx_dma_addr[rx_index] = pci_map_single(lp->pci_dev,
new_skb->data,
lp->rx_buff_len-2,
Expand Down Expand Up @@ -926,9 +924,7 @@ static int amd8111e_rx(struct net_device *dev)
pci_unmap_single(lp->pci_dev,lp->rx_dma_addr[rx_index],
lp->rx_buff_len-2, PCI_DMA_FROMDEVICE);
skb_put(skb, pkt_len);
skb->dev = dev;
lp->rx_skbuff[rx_index] = new_skb;
new_skb->dev = dev;
lp->rx_dma_addr[rx_index] = pci_map_single(lp->pci_dev,
new_skb->data, lp->rx_buff_len-2,PCI_DMA_FROMDEVICE);

Expand Down
1 change: 0 additions & 1 deletion drivers/net/ariadne.c
Original file line number Diff line number Diff line change
Expand Up @@ -743,7 +743,6 @@ static int ariadne_rx(struct net_device *dev)
}


skb->dev = dev;
skb_reserve(skb,2); /* 16 byte align */
skb_put(skb,pkt_len); /* Make room */
eth_copy_and_sum(skb, (char *)priv->rx_buff[entry], pkt_len,0);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/arm/am79c961a.c
Original file line number Diff line number Diff line change
Expand Up @@ -526,7 +526,6 @@ am79c961_rx(struct net_device *dev, struct dev_priv *priv)
skb = dev_alloc_skb(len + 2);

if (skb) {
skb->dev = dev;
skb_reserve(skb, 2);

am_readbuffer(dev, pktaddr, skb_put(skb, len), len);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/arm/at91_ether.c
Original file line number Diff line number Diff line change
Expand Up @@ -858,7 +858,6 @@ static void at91ether_rx(struct net_device *dev)
skb_reserve(skb, 2);
memcpy(skb_put(skb, pktlen), p_recv, pktlen);

skb->dev = dev;
skb->protocol = eth_type_trans(skb, dev);
dev->last_rx = jiffies;
lp->stats.rx_bytes += pktlen;
Expand Down
1 change: 0 additions & 1 deletion drivers/net/arm/ep93xx_eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,6 @@ static int ep93xx_rx(struct net_device *dev, int *budget)

skb = dev_alloc_skb(length + 2);
if (likely(skb != NULL)) {
skb->dev = dev;
skb_reserve(skb, 2);
dma_sync_single(NULL, ep->descs->rdesc[entry].buf_addr,
length, DMA_FROM_DEVICE);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/arm/ether1.c
Original file line number Diff line number Diff line change
Expand Up @@ -875,7 +875,6 @@ ether1_recv_done (struct net_device *dev)
skb = dev_alloc_skb (length + 2);

if (skb) {
skb->dev = dev;
skb_reserve (skb, 2);

ether1_readbuffer (dev, skb_put (skb, length), rbd.rbd_bufl, length);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/arm/ether3.c
Original file line number Diff line number Diff line change
Expand Up @@ -661,7 +661,6 @@ if (next_ptr < RX_START || next_ptr >= RX_END) {
if (skb) {
unsigned char *buf;

skb->dev = dev;
skb_reserve(skb, 2);
buf = skb_put(skb, length);
ether3_readbuffer(dev, buf + 12, length - 12);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/at1700.c
Original file line number Diff line number Diff line change
Expand Up @@ -768,7 +768,6 @@ net_rx(struct net_device *dev)
lp->stats.rx_dropped++;
break;
}
skb->dev = dev;
skb_reserve(skb,2);

insw(ioaddr + DATAPORT, skb_put(skb,pkt_len), (pkt_len + 1) >> 1);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/atari_bionet.c
Original file line number Diff line number Diff line change
Expand Up @@ -544,7 +544,6 @@ bionet_poll_rx(struct net_device *dev) {
break;
}

skb->dev = dev;
skb_reserve( skb, 2 ); /* 16 Byte align */
skb_put( skb, pkt_len ); /* make room */

Expand Down
1 change: 0 additions & 1 deletion drivers/net/atarilance.c
Original file line number Diff line number Diff line change
Expand Up @@ -1047,7 +1047,6 @@ static int lance_rx( struct net_device *dev )
pkt_len );
}

skb->dev = dev;
skb_reserve( skb, 2 ); /* 16 byte align */
skb_put( skb, pkt_len ); /* Make room */
lp->memcpy_f( skb->data, PKTBUF_ADDR(head), pkt_len );
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/atl1/atl1_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,6 @@ static void atl1_rx_checksum(struct atl1_adapter *adapter,
static u16 atl1_alloc_rx_buffers(struct atl1_adapter *adapter)
{
struct atl1_rfd_ring *rfd_ring = &adapter->rfd_ring;
struct net_device *netdev = adapter->netdev;
struct pci_dev *pdev = adapter->pdev;
struct page *page;
unsigned long offset;
Expand Down Expand Up @@ -444,7 +443,6 @@ static u16 atl1_alloc_rx_buffers(struct atl1_adapter *adapter)
* the 14 byte MAC header is removed
*/
skb_reserve(skb, NET_IP_ALIGN);
skb->dev = netdev;

buffer_info->alloced = 1;
buffer_info->skb = skb;
Expand Down
1 change: 0 additions & 1 deletion drivers/net/atp.c
Original file line number Diff line number Diff line change
Expand Up @@ -793,7 +793,6 @@ static void net_rx(struct net_device *dev)
lp->stats.rx_dropped++;
goto done;
}
skb->dev = dev;

skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
read_block(ioaddr, pkt_len, skb_put(skb,pkt_len), dev->if_port);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/au1000_eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -1205,7 +1205,6 @@ static int au1000_rx(struct net_device *dev)
aup->stats.rx_dropped++;
continue;
}
skb->dev = dev;
skb_reserve(skb, 2); /* 16 byte IP header align */
eth_copy_and_sum(skb,
(unsigned char *)pDB->vaddr, frmlen, 0);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/b44.c
Original file line number Diff line number Diff line change
Expand Up @@ -825,7 +825,6 @@ static int b44_rx(struct b44 *bp, int budget)
if (copy_skb == NULL)
goto drop_it_no_recycle;

copy_skb->dev = bp->dev;
skb_reserve(copy_skb, 2);
skb_put(copy_skb, len);
/* DMA sync done above, copy just the actual packet */
Expand Down
1 change: 0 additions & 1 deletion drivers/net/bmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -715,7 +715,6 @@ static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id)
if (skb != NULL) {
nb -= ETHERCRC;
skb_put(skb, nb);
skb->dev = dev;
skb->protocol = eth_type_trans(skb, dev);
netif_rx(skb);
dev->last_rx = jiffies;
Expand Down
1 change: 0 additions & 1 deletion drivers/net/cassini.c
Original file line number Diff line number Diff line change
Expand Up @@ -1995,7 +1995,6 @@ static int cas_rx_process_pkt(struct cas *cp, struct cas_rx_comp *rxc,
return -1;

*skbref = skb;
skb->dev = cp->dev;
skb_reserve(skb, swivel);

p = skb->data;
Expand Down
3 changes: 1 addition & 2 deletions drivers/net/chelsio/sge.c
Original file line number Diff line number Diff line change
Expand Up @@ -1379,12 +1379,11 @@ static void sge_rx(struct sge *sge, struct freelQ *fl, unsigned int len)
}
__skb_pull(skb, sizeof(*p));

skb->dev = adapter->port[p->iff].dev;
skb->dev->last_rx = jiffies;
st = per_cpu_ptr(sge->port_stats[p->iff], smp_processor_id());
st->rx_packets++;

skb->protocol = eth_type_trans(skb, skb->dev);
skb->protocol = eth_type_trans(skb, adapter->port[p->iff].dev);
if ((adapter->flags & RX_CSUM_ENABLED) && p->csum == 0xffff &&
skb->protocol == htons(ETH_P_IP) &&
(skb->data[9] == IPPROTO_TCP || skb->data[9] == IPPROTO_UDP)) {
Expand Down
1 change: 0 additions & 1 deletion drivers/net/cris/eth_v10.c
Original file line number Diff line number Diff line change
Expand Up @@ -1375,7 +1375,6 @@ e100_rx(struct net_device *dev)
myNextRxDesc->descr.buf = L1_CACHE_ALIGN(virt_to_phys(myNextRxDesc->skb->data));
}

skb->dev = dev;
skb->protocol = eth_type_trans(skb, dev);

/* Send the packet to the upper layers */
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/cs89x0.c
Original file line number Diff line number Diff line change
Expand Up @@ -1004,7 +1004,6 @@ dma_rx(struct net_device *dev)
return;
}
skb_reserve(skb, 2); /* longword align L3 header */
skb->dev = dev;

if (bp + length > lp->end_dma_buff) {
int semi_cnt = lp->end_dma_buff - bp;
Expand Down Expand Up @@ -1702,7 +1701,6 @@ net_rx(struct net_device *dev)
return;
}
skb_reserve(skb, 2); /* longword align L3 header */
skb->dev = dev;

readwords(ioaddr, RX_FRAME_PORT, skb_put(skb, length), length >> 1);
if (length & 1)
Expand Down
3 changes: 1 addition & 2 deletions drivers/net/cxgb3/sge.c
Original file line number Diff line number Diff line change
Expand Up @@ -1684,9 +1684,8 @@ static void rx_eth(struct adapter *adap, struct sge_rspq *rq,
struct port_info *pi;

skb_pull(skb, sizeof(*p) + pad);
skb->dev = adap->port[p->iff];
skb->dev->last_rx = jiffies;
skb->protocol = eth_type_trans(skb, skb->dev);
skb->protocol = eth_type_trans(skb, adap->port[p->iff]);
pi = netdev_priv(skb->dev);
if (pi->rx_csum_offload && p->csum_valid && p->csum == 0xffff &&
!p->fragment) {
Expand Down
Loading

0 comments on commit 4c13eb6

Please sign in to comment.