e293be
diff -Naurp a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
e293be
--- a/drivers/net/ethernet/intel/e100.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/intel/e100.c	2018-01-29 09:03:56.774087675 -0300
e293be
@@ -2834,7 +2834,7 @@ static const struct net_device_ops e100_
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 	.ndo_set_rx_mode	= e100_set_multicast_list,
e293be
 	.ndo_set_mac_address	= e100_set_mac_address,
e293be
-	.ndo_change_mtu		= e100_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= e100_change_mtu,
e293be
 	.ndo_do_ioctl		= e100_do_ioctl,
e293be
 	.ndo_tx_timeout		= e100_tx_timeout,
e293be
 #ifdef CONFIG_NET_POLL_CONTROLLER
e293be
diff -Naurp a/drivers/net/ethernet/intel/ixgb/ixgb_main.c b/drivers/net/ethernet/intel/ixgb/ixgb_main.c
e293be
--- a/drivers/net/ethernet/intel/ixgb/ixgb_main.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/intel/ixgb/ixgb_main.c	2018-01-29 09:48:20.415267000 -0300
e293be
@@ -370,7 +370,7 @@ static const struct net_device_ops ixgb_
e293be
 	.ndo_set_rx_mode	= ixgb_set_multi,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 	.ndo_set_mac_address	= ixgb_set_mac,
e293be
-	.ndo_change_mtu		= ixgb_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= ixgb_change_mtu,
e293be
 	.ndo_tx_timeout		= ixgb_tx_timeout,
e293be
 	.ndo_vlan_rx_add_vid	= ixgb_vlan_rx_add_vid,
e293be
 	.ndo_vlan_rx_kill_vid	= ixgb_vlan_rx_kill_vid,
e293be
diff -Naurp a/drivers/net/ethernet/nvidia/forcedeth.c b/drivers/net/ethernet/nvidia/forcedeth.c
e293be
--- a/drivers/net/ethernet/nvidia/forcedeth.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/nvidia/forcedeth.c	2018-01-29 10:39:01.130527988 -0300
e293be
@@ -1735,7 +1735,7 @@ static void nv_update_stats(struct net_d
e293be
  * Called with read_lock(&dev_base_lock) held for read -
e293be
  * only synchronized against unregister_netdevice.
e293be
  */
e293be
-static struct rtnl_link_stats64*
e293be
+static void
e293be
 nv_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *storage)
e293be
 	__acquires(&netdev_priv(dev)->hwstats_lock)
e293be
 	__releases(&netdev_priv(dev)->hwstats_lock)
e293be
@@ -1795,8 +1795,6 @@ nv_get_stats64(struct net_device *dev, s
e293be
 
e293be
 		spin_unlock_bh(&np->hwstats_lock);
e293be
 	}
e293be
-
e293be
-	return storage;
e293be
 }
e293be
 
e293be
 /*
e293be
@@ -5564,7 +5562,7 @@ static const struct net_device_ops nv_ne
e293be
 	.ndo_get_stats64	= nv_get_stats64,
e293be
 	.ndo_start_xmit		= nv_start_xmit,
e293be
 	.ndo_tx_timeout		= nv_tx_timeout,
e293be
-	.ndo_change_mtu		= nv_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= nv_change_mtu,
e293be
 	.ndo_fix_features	= nv_fix_features,
e293be
 	.ndo_set_features	= nv_set_features,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
@@ -5581,7 +5579,7 @@ static const struct net_device_ops nv_ne
e293be
 	.ndo_get_stats64	= nv_get_stats64,
e293be
 	.ndo_start_xmit		= nv_start_xmit_optimized,
e293be
 	.ndo_tx_timeout		= nv_tx_timeout,
e293be
-	.ndo_change_mtu		= nv_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= nv_change_mtu,
e293be
 	.ndo_fix_features	= nv_fix_features,
e293be
 	.ndo_set_features	= nv_set_features,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
diff -Naurp a/drivers/net/ethernet/packetengines/hamachi.c b/drivers/net/ethernet/packetengines/hamachi.c
e293be
--- a/drivers/net/ethernet/packetengines/hamachi.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/packetengines/hamachi.c	2018-01-29 10:36:48.179514885 -0300
e293be
@@ -568,7 +568,7 @@ static const struct net_device_ops hamac
e293be
 	.ndo_start_xmit		= hamachi_start_xmit,
e293be
 	.ndo_get_stats		= hamachi_get_stats,
e293be
 	.ndo_set_rx_mode	= set_rx_mode,
e293be
-	.ndo_change_mtu		= eth_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= eth_change_mtu,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 	.ndo_set_mac_address 	= eth_mac_addr,
e293be
 	.ndo_tx_timeout		= hamachi_tx_timeout,
e293be
diff -Naurp a/drivers/net/ethernet/packetengines/yellowfin.c b/drivers/net/ethernet/packetengines/yellowfin.c
e293be
--- a/drivers/net/ethernet/packetengines/yellowfin.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/packetengines/yellowfin.c	2018-01-29 10:38:04.922523162 -0300
e293be
@@ -360,7 +360,7 @@ static const struct net_device_ops netde
e293be
 	.ndo_stop 		= yellowfin_close,
e293be
 	.ndo_start_xmit 	= yellowfin_start_xmit,
e293be
 	.ndo_set_rx_mode	= set_rx_mode,
e293be
-	.ndo_change_mtu		= eth_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= eth_change_mtu,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 	.ndo_set_mac_address 	= eth_mac_addr,
e293be
 	.ndo_do_ioctl 		= netdev_ioctl,
e293be
diff -Naurp a/drivers/net/ethernet/via/via-velocity.c b/drivers/net/ethernet/via/via-velocity.c
e293be
--- a/drivers/net/ethernet/via/via-velocity.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/via/via-velocity.c	2018-01-29 10:51:37.069588416 -0300
e293be
@@ -2617,7 +2617,7 @@ static const struct net_device_ops veloc
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 	.ndo_set_mac_address	= eth_mac_addr,
e293be
 	.ndo_set_rx_mode	= velocity_set_multi,
e293be
-	.ndo_change_mtu		= velocity_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= velocity_change_mtu,
e293be
 	.ndo_do_ioctl		= velocity_ioctl,
e293be
 	.ndo_vlan_rx_add_vid	= velocity_vlan_rx_add_vid,
e293be
 	.ndo_vlan_rx_kill_vid	= velocity_vlan_rx_kill_vid,
e293be
diff -Naurp a/drivers/net/ethernet/sis/sis190.c b/drivers/net/ethernet/sis/sis190.c
e293be
--- a/drivers/net/ethernet/sis/sis190.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/sis/sis190.c	2018-01-29 16:32:05.812338481 -0300
e293be
@@ -1833,7 +1833,7 @@ static const struct net_device_ops sis19
e293be
 	.ndo_start_xmit		= sis190_start_xmit,
e293be
 	.ndo_tx_timeout		= sis190_tx_timeout,
e293be
 	.ndo_set_rx_mode	= sis190_set_rx_mode,
e293be
-	.ndo_change_mtu		= eth_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= eth_change_mtu,
e293be
 	.ndo_set_mac_address	= sis190_mac_addr,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 #ifdef CONFIG_NET_POLL_CONTROLLER
e293be
diff -Naurp a/drivers/net/ethernet/sis/sis900.c b/drivers/net/ethernet/sis/sis900.c
e293be
--- a/drivers/net/ethernet/sis/sis900.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/sis/sis900.c	2018-01-29 16:32:21.223230782 -0300
e293be
@@ -400,7 +400,7 @@ static const struct net_device_ops sis90
e293be
 	.ndo_start_xmit		= sis900_start_xmit,
e293be
 	.ndo_set_config		= sis900_set_config,
e293be
 	.ndo_set_rx_mode	= set_rx_mode,
e293be
-	.ndo_change_mtu		= eth_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= eth_change_mtu,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 	.ndo_set_mac_address 	= eth_mac_addr,
e293be
 	.ndo_do_ioctl		= mii_ioctl,
e293be
diff -Naurp a/drivers/net/ethernet/3com/3c509.c b/drivers/net/ethernet/3com/3c509.c
e293be
--- a/drivers/net/ethernet/3com/3c509.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/3com/3c509.c	2018-01-29 16:54:04.611124113 -0300
e293be
@@ -509,7 +509,7 @@ static const struct net_device_ops netde
e293be
 	.ndo_get_stats 		= el3_get_stats,
e293be
 	.ndo_set_rx_mode	= set_multicast_list,
e293be
 	.ndo_tx_timeout 	= el3_tx_timeout,
e293be
-	.ndo_change_mtu		= eth_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= eth_change_mtu,
e293be
 	.ndo_set_mac_address 	= eth_mac_addr,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 #ifdef CONFIG_NET_POLL_CONTROLLER
e293be
diff -Naurp a/drivers/net/ethernet/3com/3c515.c b/drivers/net/ethernet/3com/3c515.c
e293be
--- a/drivers/net/ethernet/3com/3c515.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/3com/3c515.c	2018-01-29 16:54:26.145031849 -0300
e293be
@@ -570,7 +570,7 @@ static const struct net_device_ops netde
e293be
 	.ndo_tx_timeout		= corkscrew_timeout,
e293be
 	.ndo_get_stats		= corkscrew_get_stats,
e293be
 	.ndo_set_rx_mode	= set_rx_mode,
e293be
-	.ndo_change_mtu		= eth_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= eth_change_mtu,
e293be
 	.ndo_set_mac_address 	= eth_mac_addr,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 };
e293be
diff -Naurp a/drivers/net/ethernet/3com/3c574_cs.c b/drivers/net/ethernet/3com/3c574_cs.c
e293be
--- a/drivers/net/ethernet/3com/3c574_cs.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/3com/3c574_cs.c	2018-01-29 16:54:36.142861676 -0300
e293be
@@ -255,7 +255,7 @@ static const struct net_device_ops el3_n
e293be
 	.ndo_get_stats		= el3_get_stats,
e293be
 	.ndo_do_ioctl		= el3_ioctl,
e293be
 	.ndo_set_rx_mode	= set_multicast_list,
e293be
-	.ndo_change_mtu		= eth_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= eth_change_mtu,
e293be
 	.ndo_set_mac_address 	= eth_mac_addr,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 };
e293be
diff -Naurp a/drivers/net/ethernet/3com/3c589_cs.c b/drivers/net/ethernet/3com/3c589_cs.c
e293be
--- a/drivers/net/ethernet/3com/3c589_cs.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/3com/3c589_cs.c	2018-01-29 16:54:43.241740846 -0300
e293be
@@ -184,7 +184,7 @@ static const struct net_device_ops el3_n
e293be
 	.ndo_set_config		= el3_config,
e293be
 	.ndo_get_stats		= el3_get_stats,
e293be
 	.ndo_set_rx_mode	= set_multicast_list,
e293be
-	.ndo_change_mtu		= eth_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= eth_change_mtu,
e293be
 	.ndo_set_mac_address	= eth_mac_addr,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 };
e293be
diff -Naurp a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c
e293be
--- a/drivers/net/ethernet/3com/3c59x.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/3com/3c59x.c	2018-01-29 16:54:49.242638705 -0300
e293be
@@ -1063,7 +1063,7 @@ static const struct net_device_ops boomr
e293be
 	.ndo_do_ioctl 		= vortex_ioctl,
e293be
 #endif
e293be
 	.ndo_set_rx_mode	= set_rx_mode,
e293be
-	.ndo_change_mtu		= eth_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= eth_change_mtu,
e293be
 	.ndo_set_mac_address 	= eth_mac_addr,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 #ifdef CONFIG_NET_POLL_CONTROLLER
e293be
@@ -1081,7 +1081,7 @@ static const struct net_device_ops vorte
e293be
 	.ndo_do_ioctl 		= vortex_ioctl,
e293be
 #endif
e293be
 	.ndo_set_rx_mode	= set_rx_mode,
e293be
-	.ndo_change_mtu		= eth_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= eth_change_mtu,
e293be
 	.ndo_set_mac_address 	= eth_mac_addr,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 #ifdef CONFIG_NET_POLL_CONTROLLER
e293be
diff -Naurp a/drivers/net/ethernet/3com/typhoon.c b/drivers/net/ethernet/3com/typhoon.c
e293be
--- a/drivers/net/ethernet/3com/typhoon.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/3com/typhoon.c	2018-01-29 16:54:56.324576567 -0300
e293be
@@ -2255,7 +2255,7 @@ static const struct net_device_ops typho
e293be
 	.ndo_get_stats		= typhoon_get_stats,
e293be
 	.ndo_validate_addr	= eth_validate_addr,
e293be
 	.ndo_set_mac_address	= eth_mac_addr,
e293be
-	.ndo_change_mtu		= eth_change_mtu,
e293be
+	.ndo_change_mtu_rh74	= eth_change_mtu,
e293be
 };
e293be
 
e293be
 static int
e293be
diff -Naurp a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c
e293be
--- a/drivers/net/ethernet/via/via-rhine.c	2018-01-15 13:45:04.000000000 -0300
e293be
+++ b/drivers/net/ethernet/via/via-rhine.c	2018-01-29 17:23:20.923905792 -0300
e293be
@@ -503,7 +503,7 @@ static irqreturn_t rhine_interrupt(int i
e293be
 static void rhine_tx(struct net_device *dev);
e293be
 static int rhine_rx(struct net_device *dev, int limit);
e293be
 static void rhine_set_rx_mode(struct net_device *dev);
e293be
-static struct rtnl_link_stats64 *rhine_get_stats64(struct net_device *dev,
e293be
+static void rhine_get_stats64(struct net_device *dev,
e293be
 	       struct rtnl_link_stats64 *stats);
e293be
 static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
e293be
 static const struct ethtool_ops netdev_ethtool_ops;
e293be
@@ -855,7 +855,7 @@ static const struct net_device_ops rhine
e293be
 	.ndo_start_xmit		 = rhine_start_tx,
e293be
 	.ndo_get_stats64	 = rhine_get_stats64,
e293be
 	.ndo_set_rx_mode	 = rhine_set_rx_mode,
e293be
-	.ndo_change_mtu		 = eth_change_mtu,
e293be
+	.ndo_change_mtu_rh74	 = eth_change_mtu,
e293be
 	.ndo_validate_addr	 = eth_validate_addr,
e293be
 	.ndo_set_mac_address 	 = eth_mac_addr,
e293be
 	.ndo_do_ioctl		 = netdev_ioctl,
e293be
@@ -2038,7 +2038,7 @@ out_unlock:
e293be
 	mutex_unlock(&rp->task_lock);
e293be
 }
e293be
 
e293be
-static struct rtnl_link_stats64 *
e293be
+static void
e293be
 rhine_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats)
e293be
 {
e293be
 	struct rhine_private *rp = netdev_priv(dev);
e293be
@@ -2061,8 +2061,6 @@ rhine_get_stats64(struct net_device *dev
e293be
 		stats->tx_packets = rp->tx_stats.packets;
e293be
 		stats->tx_bytes = rp->tx_stats.bytes;
e293be
 	} while (u64_stats_fetch_retry_irq(&rp->tx_stats.syncp, start));
e293be
-
e293be
-	return stats;
e293be
 }
e293be
 
e293be
 static void rhine_set_rx_mode(struct net_device *dev)