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:
Родитель
1258c076ed
Коммит
fbef7139a8
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче