- patches.suse/slab-handle-memoryless-nodes-v2a.patch: Refresh.
[linux-flexiantxendom0-3.2.10.git] / drivers / net / ibm_newemac / core.c
index 61b5ef3..f1a008f 100644 (file)
@@ -1976,27 +1976,27 @@ static int emac_ethtool_set_settings(struct net_device *ndev,
        if (cmd->autoneg == AUTONEG_DISABLE) {
                switch (cmd->speed) {
                case SPEED_10:
-                       if (cmd->duplex == DUPLEX_HALF
-                           && !(f & SUPPORTED_10baseT_Half))
+                       if (cmd->duplex == DUPLEX_HALF &&
+                           !(f & SUPPORTED_10baseT_Half))
                                return -EINVAL;
-                       if (cmd->duplex == DUPLEX_FULL
-                           && !(f & SUPPORTED_10baseT_Full))
+                       if (cmd->duplex == DUPLEX_FULL &&
+                           !(f & SUPPORTED_10baseT_Full))
                                return -EINVAL;
                        break;
                case SPEED_100:
-                       if (cmd->duplex == DUPLEX_HALF
-                           && !(f & SUPPORTED_100baseT_Half))
+                       if (cmd->duplex == DUPLEX_HALF &&
+                           !(f & SUPPORTED_100baseT_Half))
                                return -EINVAL;
-                       if (cmd->duplex == DUPLEX_FULL
-                           && !(f & SUPPORTED_100baseT_Full))
+                       if (cmd->duplex == DUPLEX_FULL &&
+                           !(f & SUPPORTED_100baseT_Full))
                                return -EINVAL;
                        break;
                case SPEED_1000:
-                       if (cmd->duplex == DUPLEX_HALF
-                           && !(f & SUPPORTED_1000baseT_Half))
+                       if (cmd->duplex == DUPLEX_HALF &&
+                           !(f & SUPPORTED_1000baseT_Half))
                                return -EINVAL;
-                       if (cmd->duplex == DUPLEX_FULL
-                           && !(f & SUPPORTED_1000baseT_Full))
+                       if (cmd->duplex == DUPLEX_FULL &&
+                           !(f & SUPPORTED_1000baseT_Full))
                                return -EINVAL;
                        break;
                default:
@@ -2149,9 +2149,12 @@ static int emac_ethtool_nway_reset(struct net_device *ndev)
        return res;
 }
 
-static int emac_ethtool_get_stats_count(struct net_device *ndev)
+static int emac_ethtool_get_sset_count(struct net_device *ndev, int stringset)
 {
-       return EMAC_ETHTOOL_STATS_COUNT;
+       if (stringset == ETH_SS_STATS)
+               return EMAC_ETHTOOL_STATS_COUNT;
+       else
+               return -EINVAL;
 }
 
 static void emac_ethtool_get_strings(struct net_device *ndev, u32 stringset,
@@ -2182,7 +2185,6 @@ static void emac_ethtool_get_drvinfo(struct net_device *ndev,
        info->fw_version[0] = '\0';
        sprintf(info->bus_info, "PPC 4xx EMAC-%d %s",
                dev->cell_index, dev->ofdev->node->full_name);
-       info->n_stats = emac_ethtool_get_stats_count(ndev);
        info->regdump_len = emac_ethtool_get_regs_len(ndev);
 }
 
@@ -2202,7 +2204,7 @@ static const struct ethtool_ops emac_ethtool_ops = {
        .get_rx_csum = emac_ethtool_get_rx_csum,
 
        .get_strings = emac_ethtool_get_strings,
-       .get_stats_count = emac_ethtool_get_stats_count,
+       .get_sset_count = emac_ethtool_get_sset_count,
        .get_ethtool_stats = emac_ethtool_get_ethtool_stats,
 
        .get_link = ethtool_op_get_link,