net/ethtool/ioctl: remove if n_stats checks from ethtool_get_phy_stats
authorDaniil Tatianin <d-tatianin@yandex-team.ru>
Mon, 26 Dec 2022 11:48:24 +0000 (14:48 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Dec 2022 11:55:24 +0000 (11:55 +0000)
Now that we always early return if we don't have any stats we can remove
these checks as they're no longer necessary.

Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ethtool/ioctl.c

index 932fa8225b2f3159fb05be61ece812fd86d5bd2f..85f0cffdcec8acbb3bcf8404c1b81dbba9c5b01e 100644 (file)
@@ -2107,28 +2107,24 @@ static int ethtool_get_phy_stats(struct net_device *dev, void __user *useraddr)
 
        stats.n_stats = n_stats;
 
-       if (n_stats) {
-               data = vzalloc(array_size(n_stats, sizeof(u64)));
-               if (!data)
-                       return -ENOMEM;
+       data = vzalloc(array_size(n_stats, sizeof(u64)));
+       if (!data)
+               return -ENOMEM;
 
-               if (phydev && !ops->get_ethtool_phy_stats &&
-                   phy_ops && phy_ops->get_stats) {
-                       ret = phy_ops->get_stats(phydev, &stats, data);
-                       if (ret < 0)
-                               goto out;
-               } else {
-                       ops->get_ethtool_phy_stats(dev, &stats, data);
-               }
+       if (phydev && !ops->get_ethtool_phy_stats &&
+               phy_ops && phy_ops->get_stats) {
+               ret = phy_ops->get_stats(phydev, &stats, data);
+               if (ret < 0)
+                       goto out;
        } else {
-               data = NULL;
+               ops->get_ethtool_phy_stats(dev, &stats, data);
        }
 
        ret = -EFAULT;
        if (copy_to_user(useraddr, &stats, sizeof(stats)))
                goto out;
        useraddr += sizeof(stats);
-       if (n_stats && copy_to_user(useraddr, data, array_size(n_stats, sizeof(u64))))
+       if (copy_to_user(useraddr, data, array_size(n_stats, sizeof(u64))))
                goto out;
        ret = 0;