diff options
Diffstat (limited to 'drivers/net/ibm_newemac/core.c')
-rw-r--r-- | drivers/net/ibm_newemac/core.c | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c index 3fae87559791..fb5e019169ee 100644 --- a/drivers/net/ibm_newemac/core.c +++ b/drivers/net/ibm_newemac/core.c | |||
@@ -1976,27 +1976,27 @@ static int emac_ethtool_set_settings(struct net_device *ndev, | |||
1976 | if (cmd->autoneg == AUTONEG_DISABLE) { | 1976 | if (cmd->autoneg == AUTONEG_DISABLE) { |
1977 | switch (cmd->speed) { | 1977 | switch (cmd->speed) { |
1978 | case SPEED_10: | 1978 | case SPEED_10: |
1979 | if (cmd->duplex == DUPLEX_HALF | 1979 | if (cmd->duplex == DUPLEX_HALF && |
1980 | && !(f & SUPPORTED_10baseT_Half)) | 1980 | !(f & SUPPORTED_10baseT_Half)) |
1981 | return -EINVAL; | 1981 | return -EINVAL; |
1982 | if (cmd->duplex == DUPLEX_FULL | 1982 | if (cmd->duplex == DUPLEX_FULL && |
1983 | && !(f & SUPPORTED_10baseT_Full)) | 1983 | !(f & SUPPORTED_10baseT_Full)) |
1984 | return -EINVAL; | 1984 | return -EINVAL; |
1985 | break; | 1985 | break; |
1986 | case SPEED_100: | 1986 | case SPEED_100: |
1987 | if (cmd->duplex == DUPLEX_HALF | 1987 | if (cmd->duplex == DUPLEX_HALF && |
1988 | && !(f & SUPPORTED_100baseT_Half)) | 1988 | !(f & SUPPORTED_100baseT_Half)) |
1989 | return -EINVAL; | 1989 | return -EINVAL; |
1990 | if (cmd->duplex == DUPLEX_FULL | 1990 | if (cmd->duplex == DUPLEX_FULL && |
1991 | && !(f & SUPPORTED_100baseT_Full)) | 1991 | !(f & SUPPORTED_100baseT_Full)) |
1992 | return -EINVAL; | 1992 | return -EINVAL; |
1993 | break; | 1993 | break; |
1994 | case SPEED_1000: | 1994 | case SPEED_1000: |
1995 | if (cmd->duplex == DUPLEX_HALF | 1995 | if (cmd->duplex == DUPLEX_HALF && |
1996 | && !(f & SUPPORTED_1000baseT_Half)) | 1996 | !(f & SUPPORTED_1000baseT_Half)) |
1997 | return -EINVAL; | 1997 | return -EINVAL; |
1998 | if (cmd->duplex == DUPLEX_FULL | 1998 | if (cmd->duplex == DUPLEX_FULL && |
1999 | && !(f & SUPPORTED_1000baseT_Full)) | 1999 | !(f & SUPPORTED_1000baseT_Full)) |
2000 | return -EINVAL; | 2000 | return -EINVAL; |
2001 | break; | 2001 | break; |
2002 | default: | 2002 | default: |
@@ -2149,9 +2149,12 @@ static int emac_ethtool_nway_reset(struct net_device *ndev) | |||
2149 | return res; | 2149 | return res; |
2150 | } | 2150 | } |
2151 | 2151 | ||
2152 | static int emac_ethtool_get_stats_count(struct net_device *ndev) | 2152 | static int emac_ethtool_get_sset_count(struct net_device *ndev, int stringset) |
2153 | { | 2153 | { |
2154 | return EMAC_ETHTOOL_STATS_COUNT; | 2154 | if (stringset == ETH_SS_STATS) |
2155 | return EMAC_ETHTOOL_STATS_COUNT; | ||
2156 | else | ||
2157 | return -EINVAL; | ||
2155 | } | 2158 | } |
2156 | 2159 | ||
2157 | static void emac_ethtool_get_strings(struct net_device *ndev, u32 stringset, | 2160 | 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, | |||
2182 | info->fw_version[0] = '\0'; | 2185 | info->fw_version[0] = '\0'; |
2183 | sprintf(info->bus_info, "PPC 4xx EMAC-%d %s", | 2186 | sprintf(info->bus_info, "PPC 4xx EMAC-%d %s", |
2184 | dev->cell_index, dev->ofdev->node->full_name); | 2187 | dev->cell_index, dev->ofdev->node->full_name); |
2185 | info->n_stats = emac_ethtool_get_stats_count(ndev); | ||
2186 | info->regdump_len = emac_ethtool_get_regs_len(ndev); | 2188 | info->regdump_len = emac_ethtool_get_regs_len(ndev); |
2187 | } | 2189 | } |
2188 | 2190 | ||
@@ -2202,7 +2204,7 @@ static const struct ethtool_ops emac_ethtool_ops = { | |||
2202 | .get_rx_csum = emac_ethtool_get_rx_csum, | 2204 | .get_rx_csum = emac_ethtool_get_rx_csum, |
2203 | 2205 | ||
2204 | .get_strings = emac_ethtool_get_strings, | 2206 | .get_strings = emac_ethtool_get_strings, |
2205 | .get_stats_count = emac_ethtool_get_stats_count, | 2207 | .get_sset_count = emac_ethtool_get_sset_count, |
2206 | .get_ethtool_stats = emac_ethtool_get_ethtool_stats, | 2208 | .get_ethtool_stats = emac_ethtool_get_ethtool_stats, |
2207 | 2209 | ||
2208 | .get_link = ethtool_op_get_link, | 2210 | .get_link = ethtool_op_get_link, |