]> err.no Git - linux-2.6/blobdiff - net/core/netpoll.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[linux-2.6] / net / core / netpoll.c
index c635de52526c9ddcd155cbf12d87b315a116c80f..8fb134da0346ef02629f03e690afa8bda4fda0f1 100644 (file)
@@ -390,9 +390,7 @@ static void arp_reply(struct sk_buff *skb)
        if (skb->dev->flags & IFF_NOARP)
                return;
 
-       if (!pskb_may_pull(skb, (sizeof(struct arphdr) +
-                                (2 * skb->dev->addr_len) +
-                                (2 * sizeof(u32)))))
+       if (!pskb_may_pull(skb, arp_hdr_len(skb->dev)))
                return;
 
        skb_reset_network_header(skb);
@@ -420,8 +418,8 @@ static void arp_reply(struct sk_buff *skb)
            ipv4_is_loopback(tip) || ipv4_is_multicast(tip))
                return;
 
-       size = sizeof(struct arphdr) + 2 * (skb->dev->addr_len + 4);
-       send_skb = find_skb(np, size + LL_RESERVED_SPACE(np->dev),
+       size = arp_hdr_len(skb->dev);
+       send_skb = find_skb(np, size + LL_ALLOCATED_SPACE(np->dev),
                            LL_RESERVED_SPACE(np->dev));
 
        if (!send_skb)