extcon: Add an API to get extcon device from dt node
[firefly-linux-kernel-4.4.55.git] / net / ipv4 / arp.c
index 247ec1951c35bed69d2182c6119085b9a7b2da96..4429b013f26946e03b687c25158267494542de9c 100644 (file)
@@ -1234,13 +1234,19 @@ out:
 static int arp_netdev_event(struct notifier_block *this, unsigned long event,
                            void *ptr)
 {
-       struct net_device *dev = ptr;
+       struct net_device *dev = netdev_notifier_info_to_dev(ptr);
+       struct netdev_notifier_change_info *change_info;
 
        switch (event) {
        case NETDEV_CHANGEADDR:
                neigh_changeaddr(&arp_tbl, dev);
                rt_cache_flush(dev_net(dev));
                break;
+       case NETDEV_CHANGE:
+               change_info = ptr;
+               if (change_info->flags_changed & IFF_NOARP)
+                       neigh_changeaddr(&arp_tbl, dev);
+               break;
        default:
                break;
        }