Merge tag 'iommu-updates-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git] / net / ipv4 / arp.c
index fea4929..247ec19 100644 (file)
@@ -654,11 +654,19 @@ struct sk_buff *arp_create(int type, int ptype, __be32 dest_ip,
        arp_ptr += dev->addr_len;
        memcpy(arp_ptr, &src_ip, 4);
        arp_ptr += 4;
-       if (target_hw != NULL)
-               memcpy(arp_ptr, target_hw, dev->addr_len);
-       else
-               memset(arp_ptr, 0, dev->addr_len);
-       arp_ptr += dev->addr_len;
+
+       switch (dev->type) {
+#if IS_ENABLED(CONFIG_FIREWIRE_NET)
+       case ARPHRD_IEEE1394:
+               break;
+#endif
+       default:
+               if (target_hw != NULL)
+                       memcpy(arp_ptr, target_hw, dev->addr_len);
+               else
+                       memset(arp_ptr, 0, dev->addr_len);
+               arp_ptr += dev->addr_len;
+       }
        memcpy(arp_ptr, &dest_ip, 4);
 
        return skb;
@@ -781,7 +789,14 @@ static int arp_process(struct sk_buff *skb)
        arp_ptr += dev->addr_len;
        memcpy(&sip, arp_ptr, 4);
        arp_ptr += 4;
-       arp_ptr += dev->addr_len;
+       switch (dev_type) {
+#if IS_ENABLED(CONFIG_FIREWIRE_NET)
+       case ARPHRD_IEEE1394:
+               break;
+#endif
+       default:
+               arp_ptr += dev->addr_len;
+       }
        memcpy(&tip, arp_ptr, 4);
 /*
  *     Check for bad requests for 127.x.x.x and requests for multicast