diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0235-enetc-Clean-up-of-ehtool-stats-len.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0235-enetc-Clean-up-of-ehtool-stats-len.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0235-enetc-Clean-up-of-ehtool-stats-len.patch b/target/linux/layerscape/patches-5.4/701-net-0235-enetc-Clean-up-of-ehtool-stats-len.patch new file mode 100644 index 0000000000..b085ea3a17 --- /dev/null +++ b/target/linux/layerscape/patches-5.4/701-net-0235-enetc-Clean-up-of-ehtool-stats-len.patch @@ -0,0 +1,44 @@ +From a5e4a018cf5c7ed9709141c41ba7b262aa79870d Mon Sep 17 00:00:00 2001 +From: Claudiu Manoil <claudiu.manoil@nxp.com> +Date: Tue, 22 Oct 2019 20:23:38 +0300 +Subject: [PATCH] enetc: Clean up of ehtool stats len + +Just refactoring stats len code to make it easier to +add new stats counters. + +Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> +--- + drivers/net/ethernet/freescale/enetc/enetc_ethtool.c | 20 +++++++++++++------- + 1 file changed, 13 insertions(+), 7 deletions(-) + +--- a/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c ++++ b/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c +@@ -195,15 +195,21 @@ static const char tx_ring_stats[][ETH_GS + static int enetc_get_sset_count(struct net_device *ndev, int sset) + { + struct enetc_ndev_priv *priv = netdev_priv(ndev); ++ int len; + +- if (sset == ETH_SS_STATS) +- return ARRAY_SIZE(enetc_si_counters) + +- ARRAY_SIZE(tx_ring_stats) * priv->num_tx_rings + +- ARRAY_SIZE(rx_ring_stats) * priv->num_rx_rings + +- (enetc_si_is_pf(priv->si) ? +- ARRAY_SIZE(enetc_port_counters) : 0); ++ if (sset != ETH_SS_STATS) ++ return -EOPNOTSUPP; + +- return -EOPNOTSUPP; ++ len = ARRAY_SIZE(enetc_si_counters) + ++ ARRAY_SIZE(tx_ring_stats) * priv->num_tx_rings + ++ ARRAY_SIZE(rx_ring_stats) * priv->num_rx_rings; ++ ++ if (!enetc_si_is_pf(priv->si)) ++ return len; ++ ++ len += ARRAY_SIZE(enetc_port_counters); ++ ++ return len; + } + + static void enetc_get_strings(struct net_device *ndev, u32 stringset, u8 *data) |