提交 a3f63e4f 编写于 作者: A Andrew Victor 提交者: Jeff Garzik

[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: NAndrew Victor <andrew@sanpeople.com>
Signed-off-by: NJeff Garzik <jeff@garzik.org>
上级 51cc2104
...@@ -853,14 +853,13 @@ static void at91ether_rx(struct net_device *dev) ...@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册