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;