{
        struct net_device *dev = netdev_notifier_info_to_dev(ptr);
 
-       if (event == NETDEV_UDP_TUNNEL_PUSH_INFO ||
-           event == NETDEV_UDP_TUNNEL_DROP_INFO) {
-               geneve_offload_rx_ports(dev, event == NETDEV_UDP_TUNNEL_PUSH_INFO);
-       } else if (event == NETDEV_UNREGISTER) {
-               if (!dev->udp_tunnel_nic_info)
-                       geneve_offload_rx_ports(dev, false);
-       } else if (event == NETDEV_REGISTER) {
-               if (!dev->udp_tunnel_nic_info)
-                       geneve_offload_rx_ports(dev, true);
-       }
+       if (event == NETDEV_UDP_TUNNEL_PUSH_INFO)
+               geneve_offload_rx_ports(dev, true);
+       else if (event == NETDEV_UDP_TUNNEL_DROP_INFO)
+               geneve_offload_rx_ports(dev, false);
 
        return NOTIFY_DONE;
 }
 
        struct net_device *dev = netdev_notifier_info_to_dev(ptr);
        struct vxlan_net *vn = net_generic(dev_net(dev), vxlan_net_id);
 
-       if (event == NETDEV_UNREGISTER) {
-               if (!dev->udp_tunnel_nic_info)
-                       vxlan_offload_rx_ports(dev, false);
+       if (event == NETDEV_UNREGISTER)
                vxlan_handle_lowerdev_unregister(vn, dev);
-       } else if (event == NETDEV_REGISTER) {
-               if (!dev->udp_tunnel_nic_info)
-                       vxlan_offload_rx_ports(dev, true);
-       } else if (event == NETDEV_UDP_TUNNEL_PUSH_INFO ||
-                  event == NETDEV_UDP_TUNNEL_DROP_INFO) {
-               vxlan_offload_rx_ports(dev, event == NETDEV_UDP_TUNNEL_PUSH_INFO);
-       }
+       else if (event == NETDEV_UDP_TUNNEL_PUSH_INFO)
+               vxlan_offload_rx_ports(dev, true);
+       else if (event == NETDEV_UDP_TUNNEL_DROP_INFO)
+               vxlan_offload_rx_ports(dev, false);
 
        return NOTIFY_DONE;
 }