tulip/de2104x: don't report different speeds depending on port type

Initial driver reported different speeds depending on the port being
used. This advertises the speed to be 10Mbps in any case, which is
what it actually is on the wire.

Signed-off-by: David Decotigny <decot@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David Decotigny 2011-04-27 18:32:42 +00:00 committed by David S. Miller
parent 1258c076ed
commit fbef7139a8
1 changed files with 3 additions and 7 deletions

View File

@ -1518,18 +1518,17 @@ static int __de_get_settings(struct de_private *de, struct ethtool_cmd *ecmd)
switch (de->media_type) {
case DE_MEDIA_AUI:
ecmd->port = PORT_AUI;
ethtool_cmd_speed_set(ecmd, 5);
break;
case DE_MEDIA_BNC:
ecmd->port = PORT_BNC;
ethtool_cmd_speed_set(ecmd, 2);
break;
default:
ecmd->port = PORT_TP;
ethtool_cmd_speed_set(ecmd, SPEED_10);
break;
}
ethtool_cmd_speed_set(ecmd, 10);
if (dr32(MacMode) & FullDuplex)
ecmd->duplex = DUPLEX_FULL;
else
@ -1549,11 +1548,8 @@ static int __de_set_settings(struct de_private *de, struct ethtool_cmd *ecmd)
{
u32 new_media;
unsigned int media_lock;
u32 speed = ethtool_cmd_speed(ecmd);
if (speed != SPEED_10 && speed != 5 && speed != 2)
return -EINVAL;
if (de->de21040 && speed == 2)
if (ethtool_cmd_speed(ecmd) != 10)
return -EINVAL;
if (ecmd->duplex != DUPLEX_HALF && ecmd->duplex != DUPLEX_FULL)
return -EINVAL;