diff options
Diffstat (limited to 'drivers/net/tulip/de2104x.c')
| -rw-r--r-- | drivers/net/tulip/de2104x.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c index b13c6b040be3..46d5a1b15036 100644 --- a/drivers/net/tulip/de2104x.c +++ b/drivers/net/tulip/de2104x.c @@ -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; - ecmd->speed = 5; break; case DE_MEDIA_BNC: ecmd->port = PORT_BNC; - ecmd->speed = 2; break; default: ecmd->port = PORT_TP; - ecmd->speed = SPEED_10; break; } + ethtool_cmd_speed_set(ecmd, 10); + if (dr32(MacMode) & FullDuplex) ecmd->duplex = DUPLEX_FULL; else @@ -1550,9 +1549,7 @@ static int __de_set_settings(struct de_private *de, struct ethtool_cmd *ecmd) u32 new_media; unsigned int media_lock; - if (ecmd->speed != SPEED_10 && ecmd->speed != 5 && ecmd->speed != 2) - return -EINVAL; - if (de->de21040 && ecmd->speed == 2) + if (ethtool_cmd_speed(ecmd) != 10) return -EINVAL; if (ecmd->duplex != DUPLEX_HALF && ecmd->duplex != DUPLEX_FULL) return -EINVAL; |
