Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: make ndo_get_stats64 a void function

The network device operation for reading statistics is only called
in one place, and it ignores the return value. Having a structure
return value is potentially confusing because some future driver could
incorrectly assume that the return value was used.

Fix all drivers with ndo_get_stats64 to have a void function.

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

stephen hemminger and committed by
David S. Miller
bc1f4470 63c64de7

+166 -309
+4 -6
drivers/net/bonding/bond_main.c
··· 211 211 212 212 static int bond_init(struct net_device *bond_dev); 213 213 static void bond_uninit(struct net_device *bond_dev); 214 - static struct rtnl_link_stats64 *bond_get_stats(struct net_device *bond_dev, 215 - struct rtnl_link_stats64 *stats); 214 + static void bond_get_stats(struct net_device *bond_dev, 215 + struct rtnl_link_stats64 *stats); 216 216 static void bond_slave_arr_handler(struct work_struct *work); 217 217 static bool bond_time_in_interval(struct bonding *bond, unsigned long last_act, 218 218 int mod); ··· 3337 3337 } 3338 3338 } 3339 3339 3340 - static struct rtnl_link_stats64 *bond_get_stats(struct net_device *bond_dev, 3341 - struct rtnl_link_stats64 *stats) 3340 + static void bond_get_stats(struct net_device *bond_dev, 3341 + struct rtnl_link_stats64 *stats) 3342 3342 { 3343 3343 struct bonding *bond = netdev_priv(bond_dev); 3344 3344 struct rtnl_link_stats64 temp; ··· 3362 3362 3363 3363 memcpy(&bond->bond_stats, stats, sizeof(*stats)); 3364 3364 spin_unlock(&bond->stats_lock); 3365 - 3366 - return stats; 3367 3365 } 3368 3366 3369 3367 static int bond_do_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd)
+2 -3
drivers/net/dummy.c
··· 54 54 struct u64_stats_sync syncp; 55 55 }; 56 56 57 - static struct rtnl_link_stats64 *dummy_get_stats64(struct net_device *dev, 58 - struct rtnl_link_stats64 *stats) 57 + static void dummy_get_stats64(struct net_device *dev, 58 + struct rtnl_link_stats64 *stats) 59 59 { 60 60 int i; 61 61 ··· 73 73 stats->tx_bytes += tbytes; 74 74 stats->tx_packets += tpackets; 75 75 } 76 - return stats; 77 76 } 78 77 79 78 static netdev_tx_t dummy_xmit(struct sk_buff *skb, struct net_device *dev)
+2 -4
drivers/net/ethernet/alacritech/slicoss.c
··· 1471 1471 return NETDEV_TX_OK; 1472 1472 } 1473 1473 1474 - static struct rtnl_link_stats64 *slic_get_stats(struct net_device *dev, 1475 - struct rtnl_link_stats64 *lst) 1474 + static void slic_get_stats(struct net_device *dev, 1475 + struct rtnl_link_stats64 *lst) 1476 1476 { 1477 1477 struct slic_device *sdev = netdev_priv(dev); 1478 1478 struct slic_stats *stats = &sdev->stats; ··· 1489 1489 SLIC_GET_STATS_COUNTER(lst->rx_crc_errors, stats, rx_crc); 1490 1490 SLIC_GET_STATS_COUNTER(lst->rx_fifo_errors, stats, rx_oflow802); 1491 1491 SLIC_GET_STATS_COUNTER(lst->tx_carrier_errors, stats, tx_carrier); 1492 - 1493 - return lst; 1494 1492 } 1495 1493 1496 1494 static int slic_get_sset_count(struct net_device *dev, int sset)
+4 -6
drivers/net/ethernet/amazon/ena/ena_netdev.c
··· 2165 2165 ena_com_delete_debug_area(adapter->ena_dev); 2166 2166 } 2167 2167 2168 - static struct rtnl_link_stats64 *ena_get_stats64(struct net_device *netdev, 2169 - struct rtnl_link_stats64 *stats) 2168 + static void ena_get_stats64(struct net_device *netdev, 2169 + struct rtnl_link_stats64 *stats) 2170 2170 { 2171 2171 struct ena_adapter *adapter = netdev_priv(netdev); 2172 2172 struct ena_admin_basic_stats ena_stats; 2173 2173 int rc; 2174 2174 2175 2175 if (!test_bit(ENA_FLAG_DEV_UP, &adapter->flags)) 2176 - return NULL; 2176 + return; 2177 2177 2178 2178 rc = ena_com_get_dev_basic_stats(adapter->ena_dev, &ena_stats); 2179 2179 if (rc) 2180 - return NULL; 2180 + return; 2181 2181 2182 2182 stats->tx_bytes = ((u64)ena_stats.tx_bytes_high << 32) | 2183 2183 ena_stats.tx_bytes_low; ··· 2204 2204 2205 2205 stats->rx_errors = 0; 2206 2206 stats->tx_errors = 0; 2207 - 2208 - return stats; 2209 2207 } 2210 2208 2211 2209 static const struct net_device_ops ena_netdev_ops = {
+2 -4
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
··· 1759 1759 schedule_work(&pdata->restart_work); 1760 1760 } 1761 1761 1762 - static struct rtnl_link_stats64 *xgbe_get_stats64(struct net_device *netdev, 1763 - struct rtnl_link_stats64 *s) 1762 + static void xgbe_get_stats64(struct net_device *netdev, 1763 + struct rtnl_link_stats64 *s) 1764 1764 { 1765 1765 struct xgbe_prv_data *pdata = netdev_priv(netdev); 1766 1766 struct xgbe_mmc_stats *pstats = &pdata->mmc_stats; ··· 1786 1786 s->tx_dropped = netdev->stats.tx_dropped; 1787 1787 1788 1788 DBGPR("<--%s\n", __func__); 1789 - 1790 - return s; 1791 1789 } 1792 1790 1793 1791 static int xgbe_vlan_rx_add_vid(struct net_device *netdev, __be16 proto,
+1 -3
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
··· 1453 1453 return ret; 1454 1454 } 1455 1455 1456 - static struct rtnl_link_stats64 *xgene_enet_get_stats64( 1456 + static void xgene_enet_get_stats64( 1457 1457 struct net_device *ndev, 1458 1458 struct rtnl_link_stats64 *storage) 1459 1459 { ··· 1484 1484 } 1485 1485 } 1486 1486 memcpy(storage, stats, sizeof(struct rtnl_link_stats64)); 1487 - 1488 - return storage; 1489 1487 } 1490 1488 1491 1489 static int xgene_enet_set_mac_address(struct net_device *ndev, void *addr)
+2 -4
drivers/net/ethernet/atheros/alx/main.c
··· 1643 1643 } 1644 1644 #endif 1645 1645 1646 - static struct rtnl_link_stats64 *alx_get_stats64(struct net_device *dev, 1647 - struct rtnl_link_stats64 *net_stats) 1646 + static void alx_get_stats64(struct net_device *dev, 1647 + struct rtnl_link_stats64 *net_stats) 1648 1648 { 1649 1649 struct alx_priv *alx = netdev_priv(dev); 1650 1650 struct alx_hw_stats *hw_stats = &alx->hw.stats; ··· 1688 1688 net_stats->rx_packets = hw_stats->rx_ok + net_stats->rx_errors; 1689 1689 1690 1690 spin_unlock(&alx->stats_lock); 1691 - 1692 - return net_stats; 1693 1691 } 1694 1692 1695 1693 static const struct net_device_ops alx_netdev_ops = {
+2 -3
drivers/net/ethernet/broadcom/b44.c
··· 1674 1674 return 0; 1675 1675 } 1676 1676 1677 - static struct rtnl_link_stats64 *b44_get_stats64(struct net_device *dev, 1678 - struct rtnl_link_stats64 *nstat) 1677 + static void b44_get_stats64(struct net_device *dev, 1678 + struct rtnl_link_stats64 *nstat) 1679 1679 { 1680 1680 struct b44 *bp = netdev_priv(dev); 1681 1681 struct b44_hw_stats *hwstat = &bp->hw_stats; ··· 1718 1718 #endif 1719 1719 } while (u64_stats_fetch_retry_irq(&hwstat->syncp, start)); 1720 1720 1721 - return nstat; 1722 1721 } 1723 1722 1724 1723 static int __b44_load_mcast(struct b44 *bp, struct net_device *dev)
+2 -3
drivers/net/ethernet/broadcom/bnx2.c
··· 6821 6821 (unsigned long) (bp->stats_blk->ctr + \ 6822 6822 bp->temp_stats_blk->ctr) 6823 6823 6824 - static struct rtnl_link_stats64 * 6824 + static void 6825 6825 bnx2_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *net_stats) 6826 6826 { 6827 6827 struct bnx2 *bp = netdev_priv(dev); 6828 6828 6829 6829 if (bp->stats_blk == NULL) 6830 - return net_stats; 6830 + return; 6831 6831 6832 6832 net_stats->rx_packets = 6833 6833 GET_64BIT_NET_STATS(stat_IfHCInUcastPkts) + ··· 6891 6891 GET_32BIT_NET_STATS(stat_IfInMBUFDiscards) + 6892 6892 GET_32BIT_NET_STATS(stat_FwRxDrop); 6893 6893 6894 - return net_stats; 6895 6894 } 6896 6895 6897 6896 /* All ethtool functions called with rtnl_lock */
+2 -4
drivers/net/ethernet/broadcom/bnxt/bnxt.c
··· 5879 5879 return -EOPNOTSUPP; 5880 5880 } 5881 5881 5882 - static struct rtnl_link_stats64 * 5882 + static void 5883 5883 bnxt_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 5884 5884 { 5885 5885 u32 i; ··· 5888 5888 memset(stats, 0, sizeof(struct rtnl_link_stats64)); 5889 5889 5890 5890 if (!bp->bnapi) 5891 - return stats; 5891 + return; 5892 5892 5893 5893 /* TODO check if we need to synchronize with bnxt_close path */ 5894 5894 for (i = 0; i < bp->cp_nr_rings; i++) { ··· 5935 5935 stats->tx_fifo_errors = le64_to_cpu(tx->tx_fifo_underruns); 5936 5936 stats->tx_errors = le64_to_cpu(tx->tx_err); 5937 5937 } 5938 - 5939 - return stats; 5940 5938 } 5941 5939 5942 5940 static bool bnxt_mc_list_updated(struct bnxt *bp, u32 *rx_mask)
+3 -5
drivers/net/ethernet/broadcom/tg3.c
··· 14142 14142 .set_link_ksettings = tg3_set_link_ksettings, 14143 14143 }; 14144 14144 14145 - static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *dev, 14146 - struct rtnl_link_stats64 *stats) 14145 + static void tg3_get_stats64(struct net_device *dev, 14146 + struct rtnl_link_stats64 *stats) 14147 14147 { 14148 14148 struct tg3 *tp = netdev_priv(dev); 14149 14149 ··· 14151 14151 if (!tp->hw_stats) { 14152 14152 *stats = tp->net_stats_prev; 14153 14153 spin_unlock_bh(&tp->lock); 14154 - return stats; 14154 + return; 14155 14155 } 14156 14156 14157 14157 tg3_get_nstats(tp, stats); 14158 14158 spin_unlock_bh(&tp->lock); 14159 - 14160 - return stats; 14161 14159 } 14162 14160 14163 14161 static void tg3_set_rx_mode(struct net_device *dev)
+2 -4
drivers/net/ethernet/brocade/bna/bnad.c
··· 3111 3111 * Used spin_lock to synchronize reading of stats structures, which 3112 3112 * is written by BNA under the same lock. 3113 3113 */ 3114 - static struct rtnl_link_stats64 * 3114 + static void 3115 3115 bnad_get_stats64(struct net_device *netdev, struct rtnl_link_stats64 *stats) 3116 3116 { 3117 3117 struct bnad *bnad = netdev_priv(netdev); ··· 3123 3123 bnad_netdev_hwstats_fill(bnad, stats); 3124 3124 3125 3125 spin_unlock_irqrestore(&bnad->bna_lock, flags); 3126 - 3127 - return stats; 3128 3126 } 3129 3127 3130 3128 static void ··· 3425 3427 .ndo_open = bnad_open, 3426 3428 .ndo_stop = bnad_stop, 3427 3429 .ndo_start_xmit = bnad_start_xmit, 3428 - .ndo_get_stats64 = bnad_get_stats64, 3430 + .ndo_get_stats64 = bnad_get_stats64, 3429 3431 .ndo_set_rx_mode = bnad_set_rx_mode, 3430 3432 .ndo_validate_addr = eth_validate_addr, 3431 3433 .ndo_set_mac_address = bnad_set_mac_address,
+2 -3
drivers/net/ethernet/calxeda/xgmac.c
··· 1446 1446 } 1447 1447 #endif 1448 1448 1449 - static struct rtnl_link_stats64 * 1449 + static void 1450 1450 xgmac_get_stats64(struct net_device *dev, 1451 - struct rtnl_link_stats64 *storage) 1451 + struct rtnl_link_stats64 *storage) 1452 1452 { 1453 1453 struct xgmac_priv *priv = netdev_priv(dev); 1454 1454 void __iomem *base = priv->base; ··· 1476 1476 1477 1477 writel(0, base + XGMAC_MMC_CTRL); 1478 1478 spin_unlock_bh(&priv->stats_lock); 1479 - return storage; 1480 1479 } 1481 1480 1482 1481 static int xgmac_set_mac_address(struct net_device *dev, void *p)
+2 -3
drivers/net/ethernet/cavium/thunder/nicvf_main.c
··· 1461 1461 nicvf_update_sq_stats(nic, qidx); 1462 1462 } 1463 1463 1464 - static struct rtnl_link_stats64 *nicvf_get_stats64(struct net_device *netdev, 1465 - struct rtnl_link_stats64 *stats) 1464 + static void nicvf_get_stats64(struct net_device *netdev, 1465 + struct rtnl_link_stats64 *stats) 1466 1466 { 1467 1467 struct nicvf *nic = netdev_priv(netdev); 1468 1468 struct nicvf_hw_stats *hw_stats = &nic->hw_stats; ··· 1478 1478 stats->tx_packets = hw_stats->tx_frames; 1479 1479 stats->tx_dropped = hw_stats->tx_drops; 1480 1480 1481 - return stats; 1482 1481 } 1483 1482 1484 1483 static void nicvf_tx_timeout(struct net_device *dev)
+3 -4
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
··· 2375 2375 } 2376 2376 EXPORT_SYMBOL(cxgb4_remove_server_filter); 2377 2377 2378 - static struct rtnl_link_stats64 *cxgb_get_stats(struct net_device *dev, 2379 - struct rtnl_link_stats64 *ns) 2378 + static void cxgb_get_stats(struct net_device *dev, 2379 + struct rtnl_link_stats64 *ns) 2380 2380 { 2381 2381 struct port_stats stats; 2382 2382 struct port_info *p = netdev_priv(dev); ··· 2389 2389 spin_lock(&adapter->stats_lock); 2390 2390 if (!netif_device_present(dev)) { 2391 2391 spin_unlock(&adapter->stats_lock); 2392 - return ns; 2392 + return; 2393 2393 } 2394 2394 t4_get_port_stats_offset(adapter, p->tx_chan, &stats, 2395 2395 &p->stats_base); ··· 2423 2423 ns->tx_errors = stats.tx_error_frames; 2424 2424 ns->rx_errors = stats.rx_symbol_err + stats.rx_fcs_err + 2425 2425 ns->rx_length_errors + stats.rx_len_err + ns->rx_fifo_errors; 2426 - return ns; 2427 2426 } 2428 2427 2429 2428 static int cxgb_ioctl(struct net_device *dev, struct ifreq *req, int cmd)
+3 -5
drivers/net/ethernet/cisco/enic/enic_main.c
··· 680 680 } 681 681 682 682 /* dev_base_lock rwlock held, nominally process context */ 683 - static struct rtnl_link_stats64 *enic_get_stats(struct net_device *netdev, 684 - struct rtnl_link_stats64 *net_stats) 683 + static void enic_get_stats(struct net_device *netdev, 684 + struct rtnl_link_stats64 *net_stats) 685 685 { 686 686 struct enic *enic = netdev_priv(netdev); 687 687 struct vnic_stats *stats; ··· 693 693 * recorded stats. 694 694 */ 695 695 if (err == -ENOMEM) 696 - return net_stats; 696 + return; 697 697 698 698 net_stats->tx_packets = stats->tx.tx_frames_ok; 699 699 net_stats->tx_bytes = stats->tx.tx_bytes_ok; ··· 707 707 net_stats->rx_over_errors = enic->rq_truncated_pkts; 708 708 net_stats->rx_crc_errors = enic->rq_bad_fcs; 709 709 net_stats->rx_dropped = stats->rx.rx_no_bufs + stats->rx.rx_drop; 710 - 711 - return net_stats; 712 710 } 713 711 714 712 static int enic_mc_sync(struct net_device *netdev, const u8 *mc_addr)
+1 -3
drivers/net/ethernet/ec_bhf.c
··· 457 457 return 0; 458 458 } 459 459 460 - static struct rtnl_link_stats64 * 460 + static void 461 461 ec_bhf_get_stats(struct net_device *net_dev, 462 462 struct rtnl_link_stats64 *stats) 463 463 { ··· 472 472 473 473 stats->tx_bytes = priv->stat_tx_bytes; 474 474 stats->rx_bytes = priv->stat_rx_bytes; 475 - 476 - return stats; 477 475 } 478 476 479 477 static const struct net_device_ops ec_bhf_netdev_ops = {
+2 -3
drivers/net/ethernet/emulex/benet/be_main.c
··· 639 639 } 640 640 } 641 641 642 - static struct rtnl_link_stats64 *be_get_stats64(struct net_device *netdev, 643 - struct rtnl_link_stats64 *stats) 642 + static void be_get_stats64(struct net_device *netdev, 643 + struct rtnl_link_stats64 *stats) 644 644 { 645 645 struct be_adapter *adapter = netdev_priv(netdev); 646 646 struct be_drv_stats *drvs = &adapter->drv_stats; ··· 704 704 stats->rx_fifo_errors = drvs->rxpp_fifo_overflow_drop + 705 705 drvs->rx_input_fifo_overflow_drop + 706 706 drvs->rx_drops_no_pbuf; 707 - return stats; 708 707 } 709 708 710 709 void be_link_status_update(struct be_adapter *adapter, u8 link_status)
+2 -4
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
··· 313 313 /* Calculates the statistics for the given device by adding the statistics 314 314 * collected by each CPU. 315 315 */ 316 - static struct rtnl_link_stats64 *dpaa_get_stats64(struct net_device *net_dev, 317 - struct rtnl_link_stats64 *s) 316 + static void dpaa_get_stats64(struct net_device *net_dev, 317 + struct rtnl_link_stats64 *s) 318 318 { 319 319 int numstats = sizeof(struct rtnl_link_stats64) / sizeof(u64); 320 320 struct dpaa_priv *priv = netdev_priv(net_dev); ··· 332 332 for (j = 0; j < numstats; j++) 333 333 netstats[j] += cpustats[j]; 334 334 } 335 - 336 - return s; 337 335 } 338 336 339 337 static struct mac_device *dpaa_mac_dev_get(struct platform_device *pdev)
+2 -4
drivers/net/ethernet/hisilicon/hns/hns_enet.c
··· 1625 1625 netdev_err(ndev, "sync uc address fail\n"); 1626 1626 } 1627 1627 1628 - struct rtnl_link_stats64 *hns_nic_get_stats64(struct net_device *ndev, 1629 - struct rtnl_link_stats64 *stats) 1628 + static void hns_nic_get_stats64(struct net_device *ndev, 1629 + struct rtnl_link_stats64 *stats) 1630 1630 { 1631 1631 int idx = 0; 1632 1632 u64 tx_bytes = 0; ··· 1668 1668 stats->tx_window_errors = ndev->stats.tx_window_errors; 1669 1669 stats->rx_compressed = ndev->stats.rx_compressed; 1670 1670 stats->tx_compressed = ndev->stats.tx_compressed; 1671 - 1672 - return stats; 1673 1671 } 1674 1672 1675 1673 static u16
+2 -3
drivers/net/ethernet/ibm/ehea/ehea_main.c
··· 328 328 spin_unlock_irqrestore(&ehea_bcmc_regs.lock, flags); 329 329 } 330 330 331 - static struct rtnl_link_stats64 *ehea_get_stats64(struct net_device *dev, 332 - struct rtnl_link_stats64 *stats) 331 + static void ehea_get_stats64(struct net_device *dev, 332 + struct rtnl_link_stats64 *stats) 333 333 { 334 334 struct ehea_port *port = netdev_priv(dev); 335 335 u64 rx_packets = 0, tx_packets = 0, rx_bytes = 0, tx_bytes = 0; ··· 352 352 353 353 stats->multicast = port->stats.multicast; 354 354 stats->rx_errors = port->stats.rx_errors; 355 - return stats; 356 355 } 357 356 358 357 static void ehea_update_stats(struct work_struct *work)
+2 -2
drivers/net/ethernet/intel/e1000e/e1000.h
··· 493 493 int e1000e_setup_tx_resources(struct e1000_ring *ring); 494 494 void e1000e_free_rx_resources(struct e1000_ring *ring); 495 495 void e1000e_free_tx_resources(struct e1000_ring *ring); 496 - struct rtnl_link_stats64 *e1000e_get_stats64(struct net_device *netdev, 497 - struct rtnl_link_stats64 *stats); 496 + void e1000e_get_stats64(struct net_device *netdev, 497 + struct rtnl_link_stats64 *stats); 498 498 void e1000e_set_interrupt_capability(struct e1000_adapter *adapter); 499 499 void e1000e_reset_interrupt_capability(struct e1000_adapter *adapter); 500 500 void e1000e_get_hw_control(struct e1000_adapter *adapter);
+2 -3
drivers/net/ethernet/intel/e1000e/netdev.c
··· 5920 5920 * 5921 5921 * Returns the address of the device statistics structure. 5922 5922 **/ 5923 - struct rtnl_link_stats64 *e1000e_get_stats64(struct net_device *netdev, 5924 - struct rtnl_link_stats64 *stats) 5923 + void e1000e_get_stats64(struct net_device *netdev, 5924 + struct rtnl_link_stats64 *stats) 5925 5925 { 5926 5926 struct e1000_adapter *adapter = netdev_priv(netdev); 5927 5927 ··· 5958 5958 /* Tx Dropped needs to be maintained elsewhere */ 5959 5959 5960 5960 spin_unlock(&adapter->stats64_lock); 5961 - return stats; 5962 5961 } 5963 5962 5964 5963 /**
+2 -4
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
··· 1118 1118 * Returns 64bit statistics, for use in the ndo_get_stats64 callback. This 1119 1119 * function replaces fm10k_get_stats for kernels which support it. 1120 1120 */ 1121 - static struct rtnl_link_stats64 *fm10k_get_stats64(struct net_device *netdev, 1122 - struct rtnl_link_stats64 *stats) 1121 + static void fm10k_get_stats64(struct net_device *netdev, 1122 + struct rtnl_link_stats64 *stats) 1123 1123 { 1124 1124 struct fm10k_intfc *interface = netdev_priv(netdev); 1125 1125 struct fm10k_ring *ring; ··· 1164 1164 1165 1165 /* following stats updated by fm10k_service_task() */ 1166 1166 stats->rx_missed_errors = netdev->stats.rx_missed_errors; 1167 - 1168 - return stats; 1169 1167 } 1170 1168 1171 1169 int fm10k_setup_tc(struct net_device *dev, u8 tc)
+2 -3
drivers/net/ethernet/intel/i40e/i40e.h
··· 834 834 void i40e_irq_dynamic_disable_icr0(struct i40e_pf *pf); 835 835 void i40e_irq_dynamic_enable_icr0(struct i40e_pf *pf, bool clearpba); 836 836 #ifdef I40E_FCOE 837 - struct rtnl_link_stats64 *i40e_get_netdev_stats_struct( 838 - struct net_device *netdev, 839 - struct rtnl_link_stats64 *storage); 837 + void i40e_get_netdev_stats_struct(struct net_device *netdev, 838 + struct rtnl_link_stats64 *storage); 840 839 int i40e_set_mac(struct net_device *netdev, void *p); 841 840 void i40e_set_rx_mode(struct net_device *netdev); 842 841 #endif
+6 -12
drivers/net/ethernet/intel/i40e/i40e_main.c
··· 409 409 * Returns the address of the device statistics structure. 410 410 * The statistics are actually updated from the service task. 411 411 **/ 412 - #ifdef I40E_FCOE 413 - struct rtnl_link_stats64 *i40e_get_netdev_stats_struct( 414 - struct net_device *netdev, 415 - struct rtnl_link_stats64 *stats) 416 - #else 417 - static struct rtnl_link_stats64 *i40e_get_netdev_stats_struct( 418 - struct net_device *netdev, 419 - struct rtnl_link_stats64 *stats) 412 + #ifndef I40E_FCOE 413 + static 420 414 #endif 415 + void i40e_get_netdev_stats_struct(struct net_device *netdev, 416 + struct rtnl_link_stats64 *stats) 421 417 { 422 418 struct i40e_netdev_priv *np = netdev_priv(netdev); 423 419 struct i40e_ring *tx_ring, *rx_ring; ··· 422 426 int i; 423 427 424 428 if (test_bit(__I40E_DOWN, &vsi->state)) 425 - return stats; 429 + return; 426 430 427 431 if (!vsi->tx_rings) 428 - return stats; 432 + return; 429 433 430 434 rcu_read_lock(); 431 435 for (i = 0; i < vsi->num_queue_pairs; i++) { ··· 465 469 stats->rx_dropped = vsi_stats->rx_dropped; 466 470 stats->rx_crc_errors = vsi_stats->rx_crc_errors; 467 471 stats->rx_length_errors = vsi_stats->rx_length_errors; 468 - 469 - return stats; 470 472 } 471 473 472 474 /**
+4 -6
drivers/net/ethernet/intel/igb/igb_main.c
··· 137 137 static void igb_watchdog(unsigned long); 138 138 static void igb_watchdog_task(struct work_struct *); 139 139 static netdev_tx_t igb_xmit_frame(struct sk_buff *skb, struct net_device *); 140 - static struct rtnl_link_stats64 *igb_get_stats64(struct net_device *dev, 141 - struct rtnl_link_stats64 *stats); 140 + static void igb_get_stats64(struct net_device *dev, 141 + struct rtnl_link_stats64 *stats); 142 142 static int igb_change_mtu(struct net_device *, int); 143 143 static int igb_set_mac(struct net_device *, void *); 144 144 static void igb_set_uta(struct igb_adapter *adapter, bool set); ··· 5404 5404 * @netdev: network interface device structure 5405 5405 * @stats: rtnl_link_stats64 pointer 5406 5406 **/ 5407 - static struct rtnl_link_stats64 *igb_get_stats64(struct net_device *netdev, 5408 - struct rtnl_link_stats64 *stats) 5407 + static void igb_get_stats64(struct net_device *netdev, 5408 + struct rtnl_link_stats64 *stats) 5409 5409 { 5410 5410 struct igb_adapter *adapter = netdev_priv(netdev); 5411 5411 ··· 5413 5413 igb_update_stats(adapter, &adapter->stats64); 5414 5414 memcpy(stats, &adapter->stats64, sizeof(*stats)); 5415 5415 spin_unlock(&adapter->stats64_lock); 5416 - 5417 - return stats; 5418 5416 } 5419 5417 5420 5418 /**
+4 -3
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
··· 8173 8173 } 8174 8174 8175 8175 #endif 8176 - static struct rtnl_link_stats64 *ixgbe_get_stats64(struct net_device *netdev, 8177 - struct rtnl_link_stats64 *stats) 8176 + 8177 + static void ixgbe_get_stats64(struct net_device *netdev, 8178 + struct rtnl_link_stats64 *stats) 8178 8179 { 8179 8180 struct ixgbe_adapter *adapter = netdev_priv(netdev); 8180 8181 int i; ··· 8213 8212 } 8214 8213 } 8215 8214 rcu_read_unlock(); 8215 + 8216 8216 /* following stats updated by ixgbe_watchdog_task() */ 8217 8217 stats->multicast = netdev->stats.multicast; 8218 8218 stats->rx_errors = netdev->stats.rx_errors; 8219 8219 stats->rx_length_errors = netdev->stats.rx_length_errors; 8220 8220 stats->rx_crc_errors = netdev->stats.rx_crc_errors; 8221 8221 stats->rx_missed_errors = netdev->stats.rx_missed_errors; 8222 - return stats; 8223 8222 } 8224 8223 8225 8224 #ifdef CONFIG_IXGBE_DCB
+2 -4
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
··· 3896 3896 ixgbevf_suspend(pdev, PMSG_SUSPEND); 3897 3897 } 3898 3898 3899 - static struct rtnl_link_stats64 *ixgbevf_get_stats(struct net_device *netdev, 3900 - struct rtnl_link_stats64 *stats) 3899 + static void ixgbevf_get_stats(struct net_device *netdev, 3900 + struct rtnl_link_stats64 *stats) 3901 3901 { 3902 3902 struct ixgbevf_adapter *adapter = netdev_priv(netdev); 3903 3903 unsigned int start; ··· 3930 3930 stats->tx_bytes += bytes; 3931 3931 stats->tx_packets += packets; 3932 3932 } 3933 - 3934 - return stats; 3935 3933 } 3936 3934 3937 3935 #define IXGBEVF_MAX_MAC_HDR_LEN 127
+1 -3
drivers/net/ethernet/marvell/mvneta.c
··· 652 652 } 653 653 654 654 /* Get System Network Statistics */ 655 - static struct rtnl_link_stats64 * 655 + static void 656 656 mvneta_get_stats64(struct net_device *dev, 657 657 struct rtnl_link_stats64 *stats) 658 658 { ··· 686 686 stats->rx_dropped = dev->stats.rx_dropped; 687 687 688 688 stats->tx_dropped = dev->stats.tx_dropped; 689 - 690 - return stats; 691 689 } 692 690 693 691 /* Rx descriptors helper methods */
+1 -3
drivers/net/ethernet/marvell/mvpp2.c
··· 5739 5739 return err; 5740 5740 } 5741 5741 5742 - static struct rtnl_link_stats64 * 5742 + static void 5743 5743 mvpp2_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 5744 5744 { 5745 5745 struct mvpp2_port *port = netdev_priv(dev); ··· 5771 5771 stats->rx_errors = dev->stats.rx_errors; 5772 5772 stats->rx_dropped = dev->stats.rx_dropped; 5773 5773 stats->tx_dropped = dev->stats.tx_dropped; 5774 - 5775 - return stats; 5776 5774 } 5777 5775 5778 5776 static int mvpp2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
+2 -4
drivers/net/ethernet/marvell/sky2.c
··· 3888 3888 gma_write16(hw, port, GM_RX_CTRL, reg); 3889 3889 } 3890 3890 3891 - static struct rtnl_link_stats64 *sky2_get_stats(struct net_device *dev, 3892 - struct rtnl_link_stats64 *stats) 3891 + static void sky2_get_stats(struct net_device *dev, 3892 + struct rtnl_link_stats64 *stats) 3893 3893 { 3894 3894 struct sky2_port *sky2 = netdev_priv(dev); 3895 3895 struct sky2_hw *hw = sky2->hw; ··· 3929 3929 stats->rx_dropped = dev->stats.rx_dropped; 3930 3930 stats->rx_fifo_errors = dev->stats.rx_fifo_errors; 3931 3931 stats->tx_fifo_errors = dev->stats.tx_fifo_errors; 3932 - 3933 - return stats; 3934 3932 } 3935 3933 3936 3934 /* Can have one global because blinking is controlled by
+2 -4
drivers/net/ethernet/mediatek/mtk_eth_soc.c
··· 462 462 } 463 463 } 464 464 465 - static struct rtnl_link_stats64 *mtk_get_stats64(struct net_device *dev, 466 - struct rtnl_link_stats64 *storage) 465 + static void mtk_get_stats64(struct net_device *dev, 466 + struct rtnl_link_stats64 *storage) 467 467 { 468 468 struct mtk_mac *mac = netdev_priv(dev); 469 469 struct mtk_hw_stats *hw_stats = mac->hw_stats; ··· 494 494 storage->tx_errors = dev->stats.tx_errors; 495 495 storage->rx_dropped = dev->stats.rx_dropped; 496 496 storage->tx_dropped = dev->stats.tx_dropped; 497 - 498 - return storage; 499 497 } 500 498 501 499 static inline int mtk_max_frag_size(int mtu)
+1 -3
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
··· 1321 1321 } 1322 1322 1323 1323 1324 - static struct rtnl_link_stats64 * 1324 + static void 1325 1325 mlx4_en_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 1326 1326 { 1327 1327 struct mlx4_en_priv *priv = netdev_priv(dev); ··· 1330 1330 mlx4_en_fold_software_stats(dev); 1331 1331 netdev_stats_to_stats64(stats, &dev->stats); 1332 1332 spin_unlock_bh(&priv->stats_lock); 1333 - 1334 - return stats; 1335 1333 } 1336 1334 1337 1335 static void mlx4_en_set_default_moderation(struct mlx4_en_priv *priv)
+1 -2
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
··· 2686 2686 return mlx5e_setup_tc(dev, tc->tc); 2687 2687 } 2688 2688 2689 - static struct rtnl_link_stats64 * 2689 + static void 2690 2690 mlx5e_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats) 2691 2691 { 2692 2692 struct mlx5e_priv *priv = netdev_priv(dev); ··· 2729 2729 stats->multicast = 2730 2730 VPORT_COUNTER_GET(vstats, received_eth_multicast.packets); 2731 2731 2732 - return stats; 2733 2732 } 2734 2733 2735 2734 static void mlx5e_set_rx_mode(struct net_device *dev)
+1 -2
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
··· 374 374 return -EINVAL; 375 375 } 376 376 377 - static struct rtnl_link_stats64 * 377 + static void 378 378 mlx5e_rep_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats) 379 379 { 380 380 struct mlx5e_priv *priv = netdev_priv(dev); 381 381 382 382 memcpy(stats, &priv->stats.vf_vport, sizeof(*stats)); 383 - return stats; 384 383 } 385 384 386 385 static const struct switchdev_ops mlx5e_rep_switchdev_ops = {
+1 -3
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
··· 947 947 /* Return the stats from a cache that is updated periodically, 948 948 * as this function might get called in an atomic context. 949 949 */ 950 - static struct rtnl_link_stats64 * 950 + static void 951 951 mlxsw_sp_port_get_stats64(struct net_device *dev, 952 952 struct rtnl_link_stats64 *stats) 953 953 { 954 954 struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev); 955 955 956 956 memcpy(stats, mlxsw_sp_port->hw_stats.cache, sizeof(*stats)); 957 - 958 - return stats; 959 957 } 960 958 961 959 int mlxsw_sp_port_vlan_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid_begin,
+1 -2
drivers/net/ethernet/mellanox/mlxsw/switchx2.c
··· 381 381 return 0; 382 382 } 383 383 384 - static struct rtnl_link_stats64 * 384 + static void 385 385 mlxsw_sx_port_get_stats64(struct net_device *dev, 386 386 struct rtnl_link_stats64 *stats) 387 387 { ··· 410 410 tx_dropped += p->tx_dropped; 411 411 } 412 412 stats->tx_dropped = tx_dropped; 413 - return stats; 414 413 } 415 414 416 415 static int mlxsw_sx_port_get_phys_port_name(struct net_device *dev, char *name,
+4 -5
drivers/net/ethernet/myricom/myri10ge/myri10ge.c
··· 378 378 __raw_writel((__force __u32) val, (__force void __iomem *)p); 379 379 } 380 380 381 - static struct rtnl_link_stats64 *myri10ge_get_stats(struct net_device *dev, 382 - struct rtnl_link_stats64 *stats); 381 + static void myri10ge_get_stats(struct net_device *dev, 382 + struct rtnl_link_stats64 *stats); 383 383 384 384 static void set_fw_name(struct myri10ge_priv *mgp, char *name, bool allocated) 385 385 { ··· 3119 3119 return NETDEV_TX_OK; 3120 3120 } 3121 3121 3122 - static struct rtnl_link_stats64 *myri10ge_get_stats(struct net_device *dev, 3123 - struct rtnl_link_stats64 *stats) 3122 + static void myri10ge_get_stats(struct net_device *dev, 3123 + struct rtnl_link_stats64 *stats) 3124 3124 { 3125 3125 const struct myri10ge_priv *mgp = netdev_priv(dev); 3126 3126 const struct myri10ge_slice_netstats *slice_stats; ··· 3135 3135 stats->rx_dropped += slice_stats->rx_dropped; 3136 3136 stats->tx_dropped += slice_stats->tx_dropped; 3137 3137 } 3138 - return stats; 3139 3138 } 3140 3139 3141 3140 static void myri10ge_set_multicast_list(struct net_device *dev)
+1 -3
drivers/net/ethernet/neterion/vxge/vxge-main.c
··· 3111 3111 * @stats: pointer to struct rtnl_link_stats64 3112 3112 * 3113 3113 */ 3114 - static struct rtnl_link_stats64 * 3114 + static void 3115 3115 vxge_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *net_stats) 3116 3116 { 3117 3117 struct vxgedev *vdev = netdev_priv(dev); ··· 3150 3150 net_stats->tx_bytes += bytes; 3151 3151 net_stats->tx_errors += txstats->tx_errors; 3152 3152 } 3153 - 3154 - return net_stats; 3155 3153 } 3156 3154 3157 3155 static enum vxge_hw_status vxge_timestamp_config(struct __vxge_hw_device *devh)
+2 -4
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
··· 2638 2638 return nfp_net_ring_reconfig(nn, &nn->xdp_prog, &rx, NULL); 2639 2639 } 2640 2640 2641 - static struct rtnl_link_stats64 *nfp_net_stat64(struct net_device *netdev, 2642 - struct rtnl_link_stats64 *stats) 2641 + static void nfp_net_stat64(struct net_device *netdev, 2642 + struct rtnl_link_stats64 *stats) 2643 2643 { 2644 2644 struct nfp_net *nn = netdev_priv(netdev); 2645 2645 int r; ··· 2669 2669 stats->tx_bytes += data[1]; 2670 2670 stats->tx_errors += data[2]; 2671 2671 } 2672 - 2673 - return stats; 2674 2672 } 2675 2673 2676 2674 static bool nfp_net_ebpf_capable(struct nfp_net *nn)
+1 -3
drivers/net/ethernet/nvidia/forcedeth.c
··· 1733 1733 * Called with read_lock(&dev_base_lock) held for read - 1734 1734 * only synchronized against unregister_netdevice. 1735 1735 */ 1736 - static struct rtnl_link_stats64* 1736 + static void 1737 1737 nv_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *storage) 1738 1738 __acquires(&netdev_priv(dev)->hwstats_lock) 1739 1739 __releases(&netdev_priv(dev)->hwstats_lock) ··· 1793 1793 1794 1794 spin_unlock_bh(&np->hwstats_lock); 1795 1795 } 1796 - 1797 - return storage; 1798 1796 } 1799 1797 1800 1798 /*
+4 -6
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
··· 90 90 91 91 static void netxen_free_ip_list(struct netxen_adapter *, bool); 92 92 static void netxen_restore_indev_addr(struct net_device *dev, unsigned long); 93 - static struct rtnl_link_stats64 *netxen_nic_get_stats(struct net_device *dev, 94 - struct rtnl_link_stats64 *stats); 93 + static void netxen_nic_get_stats(struct net_device *dev, 94 + struct rtnl_link_stats64 *stats); 95 95 static int netxen_nic_set_mac(struct net_device *netdev, void *p); 96 96 97 97 /* PCI Device ID Table */ ··· 2302 2302 clear_bit(__NX_RESETTING, &adapter->state); 2303 2303 } 2304 2304 2305 - static struct rtnl_link_stats64 *netxen_nic_get_stats(struct net_device *netdev, 2306 - struct rtnl_link_stats64 *stats) 2305 + static void netxen_nic_get_stats(struct net_device *netdev, 2306 + struct rtnl_link_stats64 *stats) 2307 2307 { 2308 2308 struct netxen_adapter *adapter = netdev_priv(netdev); 2309 2309 ··· 2313 2313 stats->tx_bytes = adapter->stats.txbytes; 2314 2314 stats->rx_dropped = adapter->stats.rxdropped; 2315 2315 stats->tx_dropped = adapter->stats.txdropped; 2316 - 2317 - return stats; 2318 2316 } 2319 2317 2320 2318 static irqreturn_t netxen_intr(int irq, void *data)
+2 -5
drivers/net/ethernet/qlogic/qede/qede_main.c
··· 398 398 edev->stats.tx_mac_ctrl_frames = stats.tx_mac_ctrl_frames; 399 399 } 400 400 401 - static 402 - struct rtnl_link_stats64 *qede_get_stats64(struct net_device *dev, 403 - struct rtnl_link_stats64 *stats) 401 + static void qede_get_stats64(struct net_device *dev, 402 + struct rtnl_link_stats64 *stats) 404 403 { 405 404 struct qede_dev *edev = netdev_priv(dev); 406 405 ··· 429 430 stats->collisions = edev->stats.tx_total_collisions; 430 431 stats->rx_crc_errors = edev->stats.rx_crc_errors; 431 432 stats->rx_frame_errors = edev->stats.rx_align_errors; 432 - 433 - return stats; 434 433 } 435 434 436 435 #ifdef CONFIG_QED_SRIOV
+2 -4
drivers/net/ethernet/qualcomm/emac/emac.c
··· 312 312 } 313 313 314 314 /* Provide network statistics info for the interface */ 315 - static struct rtnl_link_stats64 *emac_get_stats64(struct net_device *netdev, 316 - struct rtnl_link_stats64 *net_stats) 315 + static void emac_get_stats64(struct net_device *netdev, 316 + struct rtnl_link_stats64 *net_stats) 317 317 { 318 318 struct emac_adapter *adpt = netdev_priv(netdev); 319 319 unsigned int addr = REG_MAC_RX_STATUS_BIN; ··· 377 377 net_stats->tx_window_errors = stats->tx_late_col; 378 378 379 379 spin_unlock(&stats->lock); 380 - 381 - return net_stats; 382 380 } 383 381 384 382 static const struct net_device_ops emac_netdev_ops = {
+3 -6
drivers/net/ethernet/realtek/8139too.c
··· 653 653 static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance); 654 654 static int rtl8139_close (struct net_device *dev); 655 655 static int netdev_ioctl (struct net_device *dev, struct ifreq *rq, int cmd); 656 - static struct rtnl_link_stats64 *rtl8139_get_stats64(struct net_device *dev, 657 - struct rtnl_link_stats64 658 - *stats); 656 + static void rtl8139_get_stats64(struct net_device *dev, 657 + struct rtnl_link_stats64 *stats); 659 658 static void rtl8139_set_rx_mode (struct net_device *dev); 660 659 static void __set_rx_mode (struct net_device *dev); 661 660 static void rtl8139_hw_start (struct net_device *dev); ··· 2515 2516 } 2516 2517 2517 2518 2518 - static struct rtnl_link_stats64 * 2519 + static void 2519 2520 rtl8139_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 2520 2521 { 2521 2522 struct rtl8139_private *tp = netdev_priv(dev); ··· 2543 2544 stats->tx_packets = tp->tx_stats.packets; 2544 2545 stats->tx_bytes = tp->tx_stats.bytes; 2545 2546 } while (u64_stats_fetch_retry_irq(&tp->tx_stats.syncp, start)); 2546 - 2547 - return stats; 2548 2547 } 2549 2548 2550 2549 /* Set or clear the multicast filter for this adaptor.
+1 -3
drivers/net/ethernet/realtek/r8169.c
··· 7755 7755 goto out; 7756 7756 } 7757 7757 7758 - static struct rtnl_link_stats64 * 7758 + static void 7759 7759 rtl8169_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 7760 7760 { 7761 7761 struct rtl8169_private *tp = netdev_priv(dev); ··· 7809 7809 le16_to_cpu(tp->tc_offset.tx_aborted); 7810 7810 7811 7811 pm_runtime_put_noidle(&pdev->dev); 7812 - 7813 - return stats; 7814 7812 } 7815 7813 7816 7814 static void rtl8169_net_suspend(struct net_device *dev)
+2 -6
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
··· 1706 1706 * This function is a driver entry point whenever ifconfig command gets 1707 1707 * executed to see device statistics. Statistics are number of 1708 1708 * bytes sent or received, errors occurred etc. 1709 - * Return value: 1710 - * This function returns various statistical information of device. 1711 1709 */ 1712 - static struct rtnl_link_stats64 *sxgbe_get_stats64(struct net_device *dev, 1713 - struct rtnl_link_stats64 *stats) 1710 + static void sxgbe_get_stats64(struct net_device *dev, 1711 + struct rtnl_link_stats64 *stats) 1714 1712 { 1715 1713 struct sxgbe_priv_data *priv = netdev_priv(dev); 1716 1714 void __iomem *ioaddr = priv->ioaddr; ··· 1759 1761 SXGBE_MMC_TXUFLWHI_GBCNT_REG); 1760 1762 writel(0, ioaddr + SXGBE_MMC_CTL_REG); 1761 1763 spin_unlock(&priv->stats_lock); 1762 - 1763 - return stats; 1764 1764 } 1765 1765 1766 1766 /* sxgbe_set_features - entry point to set offload features of the device.
+2 -4
drivers/net/ethernet/sfc/efx.c
··· 2219 2219 } 2220 2220 2221 2221 /* Context: process, dev_base_lock or RTNL held, non-blocking. */ 2222 - static struct rtnl_link_stats64 *efx_net_stats(struct net_device *net_dev, 2223 - struct rtnl_link_stats64 *stats) 2222 + static void efx_net_stats(struct net_device *net_dev, 2223 + struct rtnl_link_stats64 *stats) 2224 2224 { 2225 2225 struct efx_nic *efx = netdev_priv(net_dev); 2226 2226 2227 2227 spin_lock_bh(&efx->stats_lock); 2228 2228 efx->type->update_stats(efx, NULL, stats); 2229 2229 spin_unlock_bh(&efx->stats_lock); 2230 - 2231 - return stats; 2232 2230 } 2233 2231 2234 2232 /* Context: netif_tx_lock held, BHs disabled. */
+2 -4
drivers/net/ethernet/sfc/falcon/efx.c
··· 2158 2158 } 2159 2159 2160 2160 /* Context: process, dev_base_lock or RTNL held, non-blocking. */ 2161 - static struct rtnl_link_stats64 *ef4_net_stats(struct net_device *net_dev, 2162 - struct rtnl_link_stats64 *stats) 2161 + static void ef4_net_stats(struct net_device *net_dev, 2162 + struct rtnl_link_stats64 *stats) 2163 2163 { 2164 2164 struct ef4_nic *efx = netdev_priv(net_dev); 2165 2165 2166 2166 spin_lock_bh(&efx->stats_lock); 2167 2167 efx->type->update_stats(efx, NULL, stats); 2168 2168 spin_unlock_bh(&efx->stats_lock); 2169 - 2170 - return stats; 2171 2169 } 2172 2170 2173 2171 /* Context: netif_tx_lock held, BHs disabled. */
+2 -4
drivers/net/ethernet/sun/niu.c
··· 6294 6294 stats->tx_errors = errors; 6295 6295 } 6296 6296 6297 - static struct rtnl_link_stats64 *niu_get_stats(struct net_device *dev, 6298 - struct rtnl_link_stats64 *stats) 6297 + static void niu_get_stats(struct net_device *dev, 6298 + struct rtnl_link_stats64 *stats) 6299 6299 { 6300 6300 struct niu *np = netdev_priv(dev); 6301 6301 ··· 6303 6303 niu_get_rx_stats(np, stats); 6304 6304 niu_get_tx_stats(np, stats); 6305 6305 } 6306 - 6307 - return stats; 6308 6306 } 6309 6307 6310 6308 static void niu_load_hash_xmac(struct niu *np, u16 *hash)
+1 -3
drivers/net/ethernet/synopsys/dwc_eth_qos.c
··· 2490 2490 dwceqos_read(lp, DWC_MMC_RXPACKETCOUNT_GB); 2491 2491 } 2492 2492 2493 - static struct rtnl_link_stats64* 2493 + static void 2494 2494 dwceqos_get_stats64(struct net_device *ndev, struct rtnl_link_stats64 *s) 2495 2495 { 2496 2496 unsigned long flags; ··· 2522 2522 else 2523 2523 s->tx_errors = hwstats->txunderflowerror + 2524 2524 hwstats->txcarriererror; 2525 - 2526 - return s; 2527 2525 } 2528 2526 2529 2527 static void
+2 -2
drivers/net/ethernet/tile/tilepro.c
··· 2047 2047 * 2048 2048 * Returns the address of the device statistics structure. 2049 2049 */ 2050 - static struct rtnl_link_stats64 *tile_net_get_stats64(struct net_device *dev, 2051 - struct rtnl_link_stats64 *stats) 2050 + static void tile_net_get_stats64(struct net_device *dev, 2051 + struct rtnl_link_stats64 *stats) 2052 2052 { 2053 2053 struct tile_net_priv *priv = netdev_priv(dev); 2054 2054 u64 rx_packets = 0, tx_packets = 0;
+3 -5
drivers/net/ethernet/via/via-rhine.c
··· 513 513 static void rhine_tx(struct net_device *dev); 514 514 static int rhine_rx(struct net_device *dev, int limit); 515 515 static void rhine_set_rx_mode(struct net_device *dev); 516 - static struct rtnl_link_stats64 *rhine_get_stats64(struct net_device *dev, 517 - struct rtnl_link_stats64 *stats); 516 + static void rhine_get_stats64(struct net_device *dev, 517 + struct rtnl_link_stats64 *stats); 518 518 static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); 519 519 static const struct ethtool_ops netdev_ethtool_ops; 520 520 static int rhine_close(struct net_device *dev); ··· 2221 2221 mutex_unlock(&rp->task_lock); 2222 2222 } 2223 2223 2224 - static struct rtnl_link_stats64 * 2224 + static void 2225 2225 rhine_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 2226 2226 { 2227 2227 struct rhine_private *rp = netdev_priv(dev); ··· 2244 2244 stats->tx_packets = rp->tx_stats.packets; 2245 2245 stats->tx_bytes = rp->tx_stats.bytes; 2246 2246 } while (u64_stats_fetch_retry_irq(&rp->tx_stats.syncp, start)); 2247 - 2248 - return stats; 2249 2247 } 2250 2248 2251 2249 static void rhine_set_rx_mode(struct net_device *dev)
+2 -5
drivers/net/fjes/fjes_main.c
··· 57 57 static void fjes_tx_stall_task(struct work_struct *); 58 58 static void fjes_force_close_task(struct work_struct *); 59 59 static irqreturn_t fjes_intr(int, void*); 60 - static struct rtnl_link_stats64 * 61 - fjes_get_stats64(struct net_device *, struct rtnl_link_stats64 *); 60 + static void fjes_get_stats64(struct net_device *, struct rtnl_link_stats64 *); 62 61 static int fjes_change_mtu(struct net_device *, int); 63 62 static int fjes_vlan_rx_add_vid(struct net_device *, __be16 proto, u16); 64 63 static int fjes_vlan_rx_kill_vid(struct net_device *, __be16 proto, u16); ··· 781 782 netif_tx_wake_queue(queue); 782 783 } 783 784 784 - static struct rtnl_link_stats64 * 785 + static void 785 786 fjes_get_stats64(struct net_device *netdev, struct rtnl_link_stats64 *stats) 786 787 { 787 788 struct fjes_adapter *adapter = netdev_priv(netdev); 788 789 789 790 memcpy(stats, &adapter->stats64, sizeof(struct rtnl_link_stats64)); 790 - 791 - return stats; 792 791 } 793 792 794 793 static int fjes_change_mtu(struct net_device *netdev, int new_mtu)
+2 -4
drivers/net/hyperv/netvsc_drv.c
··· 908 908 return ret; 909 909 } 910 910 911 - static struct rtnl_link_stats64 *netvsc_get_stats64(struct net_device *net, 912 - struct rtnl_link_stats64 *t) 911 + static void netvsc_get_stats64(struct net_device *net, 912 + struct rtnl_link_stats64 *t) 913 913 { 914 914 struct net_device_context *ndev_ctx = netdev_priv(net); 915 915 int cpu; ··· 947 947 948 948 t->rx_dropped = net->stats.rx_dropped; 949 949 t->rx_errors = net->stats.rx_errors; 950 - 951 - return t; 952 950 } 953 951 954 952 static int netvsc_set_mac_addr(struct net_device *ndev, void *p)
+2 -4
drivers/net/ifb.c
··· 129 129 130 130 } 131 131 132 - static struct rtnl_link_stats64 *ifb_stats64(struct net_device *dev, 133 - struct rtnl_link_stats64 *stats) 132 + static void ifb_stats64(struct net_device *dev, 133 + struct rtnl_link_stats64 *stats) 134 134 { 135 135 struct ifb_dev_private *dp = netdev_priv(dev); 136 136 struct ifb_q_private *txp = dp->tx_private; ··· 157 157 } 158 158 stats->rx_dropped = dev->stats.rx_dropped; 159 159 stats->tx_dropped = dev->stats.tx_dropped; 160 - 161 - return stats; 162 160 } 163 161 164 162 static int ifb_dev_init(struct net_device *dev)
+2 -3
drivers/net/ipvlan/ipvlan_main.c
··· 303 303 dev_mc_sync(ipvlan->phy_dev, dev); 304 304 } 305 305 306 - static struct rtnl_link_stats64 *ipvlan_get_stats64(struct net_device *dev, 307 - struct rtnl_link_stats64 *s) 306 + static void ipvlan_get_stats64(struct net_device *dev, 307 + struct rtnl_link_stats64 *s) 308 308 { 309 309 struct ipvl_dev *ipvlan = netdev_priv(dev); 310 310 ··· 341 341 s->rx_dropped = rx_errs; 342 342 s->tx_dropped = tx_drps; 343 343 } 344 - return s; 345 344 } 346 345 347 346 static int ipvlan_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid)
+2 -3
drivers/net/loopback.c
··· 97 97 return NETDEV_TX_OK; 98 98 } 99 99 100 - static struct rtnl_link_stats64 *loopback_get_stats64(struct net_device *dev, 101 - struct rtnl_link_stats64 *stats) 100 + static void loopback_get_stats64(struct net_device *dev, 101 + struct rtnl_link_stats64 *stats) 102 102 { 103 103 u64 bytes = 0; 104 104 u64 packets = 0; ··· 122 122 stats->tx_packets = packets; 123 123 stats->rx_bytes = bytes; 124 124 stats->tx_bytes = bytes; 125 - return stats; 126 125 } 127 126 128 127 static u32 always_on(struct net_device *dev)
+3 -5
drivers/net/macsec.c
··· 2888 2888 return 0; 2889 2889 } 2890 2890 2891 - static struct rtnl_link_stats64 *macsec_get_stats64(struct net_device *dev, 2892 - struct rtnl_link_stats64 *s) 2891 + static void macsec_get_stats64(struct net_device *dev, 2892 + struct rtnl_link_stats64 *s) 2893 2893 { 2894 2894 int cpu; 2895 2895 2896 2896 if (!dev->tstats) 2897 - return s; 2897 + return; 2898 2898 2899 2899 for_each_possible_cpu(cpu) { 2900 2900 struct pcpu_sw_netstats *stats; ··· 2918 2918 2919 2919 s->rx_dropped = dev->stats.rx_dropped; 2920 2920 s->tx_dropped = dev->stats.tx_dropped; 2921 - 2922 - return s; 2923 2921 } 2924 2922 2925 2923 static int macsec_get_iflink(const struct net_device *dev)
+2 -3
drivers/net/macvlan.c
··· 855 855 macvlan_port_destroy(port->dev); 856 856 } 857 857 858 - static struct rtnl_link_stats64 *macvlan_dev_get_stats64(struct net_device *dev, 859 - struct rtnl_link_stats64 *stats) 858 + static void macvlan_dev_get_stats64(struct net_device *dev, 859 + struct rtnl_link_stats64 *stats) 860 860 { 861 861 struct macvlan_dev *vlan = netdev_priv(dev); 862 862 ··· 893 893 stats->rx_dropped = rx_errors; 894 894 stats->tx_dropped = tx_dropped; 895 895 } 896 - return stats; 897 896 } 898 897 899 898 static int macvlan_vlan_rx_add_vid(struct net_device *dev,
+1 -3
drivers/net/nlmon.c
··· 58 58 return netlink_remove_tap(&nlmon->nt); 59 59 } 60 60 61 - static struct rtnl_link_stats64 * 61 + static void 62 62 nlmon_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 63 63 { 64 64 int i; ··· 86 86 87 87 stats->rx_bytes = bytes; 88 88 stats->tx_bytes = 0; 89 - 90 - return stats; 91 89 } 92 90 93 91 static u32 always_on(struct net_device *dev)
+1 -3
drivers/net/ppp/ppp_generic.c
··· 1297 1297 return err; 1298 1298 } 1299 1299 1300 - static struct rtnl_link_stats64* 1300 + static void 1301 1301 ppp_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats64) 1302 1302 { 1303 1303 struct ppp *ppp = netdev_priv(dev); ··· 1317 1317 stats64->rx_dropped = dev->stats.rx_dropped; 1318 1318 stats64->tx_dropped = dev->stats.tx_dropped; 1319 1319 stats64->rx_length_errors = dev->stats.rx_length_errors; 1320 - 1321 - return stats64; 1322 1320 } 1323 1321 1324 1322 static int ppp_dev_init(struct net_device *dev)
+1 -2
drivers/net/slip/slip.c
··· 566 566 567 567 /* Netdevice get statistics request */ 568 568 569 - static struct rtnl_link_stats64 * 569 + static void 570 570 sl_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 571 571 { 572 572 struct net_device_stats *devstats = &dev->stats; ··· 597 597 stats->collisions += comp->sls_o_misses; 598 598 } 599 599 #endif 600 - return stats; 601 600 } 602 601 603 602 /* Netdevice register callback */
+1 -2
drivers/net/team/team.c
··· 1798 1798 return err; 1799 1799 } 1800 1800 1801 - static struct rtnl_link_stats64 * 1801 + static void 1802 1802 team_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 1803 1803 { 1804 1804 struct team *team = netdev_priv(dev); ··· 1835 1835 stats->rx_dropped = rx_dropped; 1836 1836 stats->tx_dropped = tx_dropped; 1837 1837 stats->rx_nohandler = rx_nohandler; 1838 - return stats; 1839 1838 } 1840 1839 1841 1840 static int team_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid)
+1 -2
drivers/net/tun.c
··· 953 953 tun->align = new_hr; 954 954 } 955 955 956 - static struct rtnl_link_stats64 * 956 + static void 957 957 tun_net_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 958 958 { 959 959 u32 rx_dropped = 0, tx_dropped = 0, rx_frame_errors = 0; ··· 987 987 stats->rx_dropped = rx_dropped; 988 988 stats->rx_frame_errors = rx_frame_errors; 989 989 stats->tx_dropped = tx_dropped; 990 - return stats; 991 990 } 992 991 993 992 static const struct net_device_ops tun_netdev_ops = {
+2 -4
drivers/net/veth.c
··· 158 158 return atomic64_read(&priv->dropped); 159 159 } 160 160 161 - static struct rtnl_link_stats64 *veth_get_stats64(struct net_device *dev, 162 - struct rtnl_link_stats64 *tot) 161 + static void veth_get_stats64(struct net_device *dev, 162 + struct rtnl_link_stats64 *tot) 163 163 { 164 164 struct veth_priv *priv = netdev_priv(dev); 165 165 struct net_device *peer; ··· 177 177 tot->rx_packets = one.packets; 178 178 } 179 179 rcu_read_unlock(); 180 - 181 - return tot; 182 180 } 183 181 184 182 /* fake multicast ability */
+2 -4
drivers/net/virtio_net.c
··· 1272 1272 return ret; 1273 1273 } 1274 1274 1275 - static struct rtnl_link_stats64 *virtnet_stats(struct net_device *dev, 1276 - struct rtnl_link_stats64 *tot) 1275 + static void virtnet_stats(struct net_device *dev, 1276 + struct rtnl_link_stats64 *tot) 1277 1277 { 1278 1278 struct virtnet_info *vi = netdev_priv(dev); 1279 1279 int cpu; ··· 1306 1306 tot->rx_dropped = dev->stats.rx_dropped; 1307 1307 tot->rx_length_errors = dev->stats.rx_length_errors; 1308 1308 tot->rx_frame_errors = dev->stats.rx_frame_errors; 1309 - 1310 - return tot; 1311 1309 } 1312 1310 1313 1311 #ifdef CONFIG_NET_POLL_CONTROLLER
+1 -3
drivers/net/vmxnet3/vmxnet3_ethtool.c
··· 113 113 }; 114 114 115 115 116 - struct rtnl_link_stats64 * 116 + void 117 117 vmxnet3_get_stats64(struct net_device *netdev, 118 118 struct rtnl_link_stats64 *stats) 119 119 { ··· 160 160 stats->rx_dropped += drvRxStats->drop_total; 161 161 stats->multicast += devRxStats->mcastPktsRxOK; 162 162 } 163 - 164 - return stats; 165 163 } 166 164 167 165 static int
+2 -2
drivers/net/vmxnet3/vmxnet3_int.h
··· 465 465 466 466 void vmxnet3_set_ethtool_ops(struct net_device *netdev); 467 467 468 - struct rtnl_link_stats64 * 469 - vmxnet3_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats); 468 + void vmxnet3_get_stats64(struct net_device *dev, 469 + struct rtnl_link_stats64 *stats); 470 470 471 471 extern char vmxnet3_driver_name[]; 472 472 #endif
+2 -3
drivers/net/vrf.c
··· 77 77 kfree_skb(skb); 78 78 } 79 79 80 - static struct rtnl_link_stats64 *vrf_get_stats64(struct net_device *dev, 81 - struct rtnl_link_stats64 *stats) 80 + static void vrf_get_stats64(struct net_device *dev, 81 + struct rtnl_link_stats64 *stats) 82 82 { 83 83 int i; 84 84 ··· 102 102 stats->rx_bytes += rbytes; 103 103 stats->rx_packets += rpkts; 104 104 } 105 - return stats; 106 105 } 107 106 108 107 /* Local traffic destined to local address. Reinsert the packet to rx
+2 -4
drivers/net/xen-netfront.c
··· 1073 1073 return 0; 1074 1074 } 1075 1075 1076 - static struct rtnl_link_stats64 *xennet_get_stats64(struct net_device *dev, 1077 - struct rtnl_link_stats64 *tot) 1076 + static void xennet_get_stats64(struct net_device *dev, 1077 + struct rtnl_link_stats64 *tot) 1078 1078 { 1079 1079 struct netfront_info *np = netdev_priv(dev); 1080 1080 int cpu; ··· 1105 1105 1106 1106 tot->rx_errors = dev->stats.rx_errors; 1107 1107 tot->tx_dropped = dev->stats.tx_dropped; 1108 - 1109 - return tot; 1110 1108 } 1111 1109 1112 1110 static void xennet_release_tx_bufs(struct netfront_queue *queue)
+1 -9
drivers/staging/netlogic/xlr_net.c
··· 397 397 TX_DROP_FRAME_COUNTER); 398 398 } 399 399 400 - static struct rtnl_link_stats64 *xlr_get_stats64(struct net_device *ndev, 401 - struct rtnl_link_stats64 *stats 402 - ) 403 - { 404 - xlr_stats(ndev, stats); 405 - return stats; 406 - } 407 - 408 400 static const struct net_device_ops xlr_netdev_ops = { 409 401 .ndo_open = xlr_net_open, 410 402 .ndo_stop = xlr_net_stop, ··· 404 412 .ndo_select_queue = xlr_net_select_queue, 405 413 .ndo_set_mac_address = xlr_net_set_mac_addr, 406 414 .ndo_set_rx_mode = xlr_set_rx_mode, 407 - .ndo_get_stats64 = xlr_get_stats64, 415 + .ndo_get_stats64 = xlr_stats, 408 416 }; 409 417 410 418 /*
+4 -4
include/linux/netdevice.h
··· 913 913 * Callback used when the transmitter has not made any progress 914 914 * for dev->watchdog ticks. 915 915 * 916 - * struct rtnl_link_stats64* (*ndo_get_stats64)(struct net_device *dev, 917 - * struct rtnl_link_stats64 *storage); 916 + * void (*ndo_get_stats64)(struct net_device *dev, 917 + * struct rtnl_link_stats64 *storage); 918 918 * struct net_device_stats* (*ndo_get_stats)(struct net_device *dev); 919 919 * Called when a user wants to get the network device usage 920 920 * statistics. Drivers must do one of the following: ··· 1165 1165 struct neigh_parms *); 1166 1166 void (*ndo_tx_timeout) (struct net_device *dev); 1167 1167 1168 - struct rtnl_link_stats64* (*ndo_get_stats64)(struct net_device *dev, 1169 - struct rtnl_link_stats64 *storage); 1168 + void (*ndo_get_stats64)(struct net_device *dev, 1169 + struct rtnl_link_stats64 *storage); 1170 1170 bool (*ndo_has_offload_stats)(const struct net_device *dev, int attr_id); 1171 1171 int (*ndo_get_offload_stats)(int attr_id, 1172 1172 const struct net_device *dev,
+2 -2
include/net/ip_tunnels.h
··· 261 261 int __ip_tunnel_change_mtu(struct net_device *dev, int new_mtu, bool strict); 262 262 int ip_tunnel_change_mtu(struct net_device *dev, int new_mtu); 263 263 264 - struct rtnl_link_stats64 *ip_tunnel_get_stats64(struct net_device *dev, 265 - struct rtnl_link_stats64 *tot); 264 + void ip_tunnel_get_stats64(struct net_device *dev, 265 + struct rtnl_link_stats64 *tot); 266 266 struct ip_tunnel *ip_tunnel_lookup(struct ip_tunnel_net *itn, 267 267 int link, __be16 flags, 268 268 __be32 remote, __be32 local,
+2 -3
net/8021q/vlan_dev.c
··· 671 671 return 0; 672 672 } 673 673 674 - static struct rtnl_link_stats64 *vlan_dev_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 674 + static void vlan_dev_get_stats64(struct net_device *dev, 675 + struct rtnl_link_stats64 *stats) 675 676 { 676 677 struct vlan_pcpu_stats *p; 677 678 u32 rx_errors = 0, tx_dropped = 0; ··· 703 702 } 704 703 stats->rx_errors = rx_errors; 705 704 stats->tx_dropped = tx_dropped; 706 - 707 - return stats; 708 705 } 709 706 710 707 #ifdef CONFIG_NET_POLL_CONTROLLER
+2 -4
net/bridge/br_device.c
··· 153 153 return 0; 154 154 } 155 155 156 - static struct rtnl_link_stats64 *br_get_stats64(struct net_device *dev, 157 - struct rtnl_link_stats64 *stats) 156 + static void br_get_stats64(struct net_device *dev, 157 + struct rtnl_link_stats64 *stats) 158 158 { 159 159 struct net_bridge *br = netdev_priv(dev); 160 160 struct pcpu_sw_netstats tmp, sum = { 0 }; ··· 178 178 stats->tx_packets = sum.tx_packets; 179 179 stats->rx_bytes = sum.rx_bytes; 180 180 stats->rx_packets = sum.rx_packets; 181 - 182 - return stats; 183 181 } 184 182 185 183 static int br_change_mtu(struct net_device *dev, int new_mtu)
+2 -4
net/ipv4/ip_tunnel_core.c
··· 188 188 EXPORT_SYMBOL_GPL(iptunnel_handle_offloads); 189 189 190 190 /* Often modified stats are per cpu, other are shared (netdev->stats) */ 191 - struct rtnl_link_stats64 *ip_tunnel_get_stats64(struct net_device *dev, 192 - struct rtnl_link_stats64 *tot) 191 + void ip_tunnel_get_stats64(struct net_device *dev, 192 + struct rtnl_link_stats64 *tot) 193 193 { 194 194 int i; 195 195 ··· 214 214 tot->rx_bytes += rx_bytes; 215 215 tot->tx_bytes += tx_bytes; 216 216 } 217 - 218 - return tot; 219 217 } 220 218 EXPORT_SYMBOL_GPL(ip_tunnel_get_stats64); 221 219
+2 -4
net/l2tp/l2tp_eth.c
··· 106 106 return NETDEV_TX_OK; 107 107 } 108 108 109 - static struct rtnl_link_stats64 *l2tp_eth_get_stats64(struct net_device *dev, 110 - struct rtnl_link_stats64 *stats) 109 + static void l2tp_eth_get_stats64(struct net_device *dev, 110 + struct rtnl_link_stats64 *stats) 111 111 { 112 112 struct l2tp_eth *priv = netdev_priv(dev); 113 113 ··· 117 117 stats->rx_bytes = atomic_long_read(&priv->rx_bytes); 118 118 stats->rx_packets = atomic_long_read(&priv->rx_packets); 119 119 stats->rx_errors = atomic_long_read(&priv->rx_errors); 120 - return stats; 121 120 } 122 - 123 121 124 122 static const struct net_device_ops l2tp_eth_netdev_ops = { 125 123 .ndo_init = l2tp_eth_dev_init,
+1 -3
net/mac80211/iface.c
··· 1122 1122 return ieee80211_select_queue(IEEE80211_DEV_TO_SUB_IF(dev), skb); 1123 1123 } 1124 1124 1125 - static struct rtnl_link_stats64 * 1125 + static void 1126 1126 ieee80211_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 1127 1127 { 1128 1128 int i; ··· 1147 1147 stats->rx_bytes += rx_bytes; 1148 1148 stats->tx_bytes += tx_bytes; 1149 1149 } 1150 - 1151 - return stats; 1152 1150 } 1153 1151 1154 1152 static const struct net_device_ops ieee80211_dataif_ops = {
+1 -3
net/openvswitch/vport-internal_dev.c
··· 97 97 free_netdev(dev); 98 98 } 99 99 100 - static struct rtnl_link_stats64 * 100 + static void 101 101 internal_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats) 102 102 { 103 103 int i; ··· 125 125 stats->tx_bytes += local_stats.tx_bytes; 126 126 stats->tx_packets += local_stats.tx_packets; 127 127 } 128 - 129 - return stats; 130 128 } 131 129 132 130 static void internal_set_rx_headroom(struct net_device *dev, int new_hr)
+2 -3
net/sched/sch_teql.c
··· 401 401 return 0; 402 402 } 403 403 404 - static struct rtnl_link_stats64 *teql_master_stats64(struct net_device *dev, 405 - struct rtnl_link_stats64 *stats) 404 + static void teql_master_stats64(struct net_device *dev, 405 + struct rtnl_link_stats64 *stats) 406 406 { 407 407 struct teql_master *m = netdev_priv(dev); 408 408 ··· 410 410 stats->tx_bytes = m->tx_bytes; 411 411 stats->tx_errors = m->tx_errors; 412 412 stats->tx_dropped = m->tx_dropped; 413 - return stats; 414 413 } 415 414 416 415 static int teql_master_mtu(struct net_device *dev, int new_mtu)