[PATCH] AT91RM9200 Ethernet: Use dev_alloc_skb()
Use dev_alloc_skb() instead of alloc_skb(). It is also not necessary to adjust skb->len manually since that's already done by skb_put(). Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:

committed by
Jeff Garzik

parent
51cc210457
commit
a3f63e4f4b
@@ -853,14 +853,13 @@ static void at91ether_rx(struct net_device *dev)
|
|||||||
while (dlist->descriptors[lp->rxBuffIndex].addr & EMAC_DESC_DONE) {
|
while (dlist->descriptors[lp->rxBuffIndex].addr & EMAC_DESC_DONE) {
|
||||||
p_recv = dlist->recv_buf[lp->rxBuffIndex];
|
p_recv = dlist->recv_buf[lp->rxBuffIndex];
|
||||||
pktlen = dlist->descriptors[lp->rxBuffIndex].size & 0x7ff; /* Length of frame including FCS */
|
pktlen = dlist->descriptors[lp->rxBuffIndex].size & 0x7ff; /* Length of frame including FCS */
|
||||||
skb = alloc_skb(pktlen + 2, GFP_ATOMIC);
|
skb = dev_alloc_skb(pktlen + 2);
|
||||||
if (skb != NULL) {
|
if (skb != NULL) {
|
||||||
skb_reserve(skb, 2);
|
skb_reserve(skb, 2);
|
||||||
memcpy(skb_put(skb, pktlen), p_recv, pktlen);
|
memcpy(skb_put(skb, pktlen), p_recv, pktlen);
|
||||||
|
|
||||||
skb->dev = dev;
|
skb->dev = dev;
|
||||||
skb->protocol = eth_type_trans(skb, dev);
|
skb->protocol = eth_type_trans(skb, dev);
|
||||||
skb->len = pktlen;
|
|
||||||
dev->last_rx = jiffies;
|
dev->last_rx = jiffies;
|
||||||
lp->stats.rx_bytes += pktlen;
|
lp->stats.rx_bytes += pktlen;
|
||||||
netif_rx(skb);
|
netif_rx(skb);
|
||||||
|
Reference in New Issue
Block a user