diff options
Diffstat (limited to 'drivers/net/mii.c')
-rw-r--r-- | drivers/net/mii.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/mii.c b/drivers/net/mii.c index e8198edeaa76..4fbc816efee2 100644 --- a/drivers/net/mii.c +++ b/drivers/net/mii.c | |||
@@ -121,22 +121,25 @@ int mii_ethtool_gset(struct mii_if_info *mii, struct ethtool_cmd *ecmd) | |||
121 | 121 | ||
122 | if (nego & (ADVERTISED_1000baseT_Full | | 122 | if (nego & (ADVERTISED_1000baseT_Full | |
123 | ADVERTISED_1000baseT_Half)) { | 123 | ADVERTISED_1000baseT_Half)) { |
124 | ecmd->speed = SPEED_1000; | 124 | ethtool_cmd_speed_set(ecmd, SPEED_1000); |
125 | ecmd->duplex = !!(nego & ADVERTISED_1000baseT_Full); | 125 | ecmd->duplex = !!(nego & ADVERTISED_1000baseT_Full); |
126 | } else if (nego & (ADVERTISED_100baseT_Full | | 126 | } else if (nego & (ADVERTISED_100baseT_Full | |
127 | ADVERTISED_100baseT_Half)) { | 127 | ADVERTISED_100baseT_Half)) { |
128 | ecmd->speed = SPEED_100; | 128 | ethtool_cmd_speed_set(ecmd, SPEED_100); |
129 | ecmd->duplex = !!(nego & ADVERTISED_100baseT_Full); | 129 | ecmd->duplex = !!(nego & ADVERTISED_100baseT_Full); |
130 | } else { | 130 | } else { |
131 | ecmd->speed = SPEED_10; | 131 | ethtool_cmd_speed_set(ecmd, SPEED_10); |
132 | ecmd->duplex = !!(nego & ADVERTISED_10baseT_Full); | 132 | ecmd->duplex = !!(nego & ADVERTISED_10baseT_Full); |
133 | } | 133 | } |
134 | } else { | 134 | } else { |
135 | ecmd->autoneg = AUTONEG_DISABLE; | 135 | ecmd->autoneg = AUTONEG_DISABLE; |
136 | 136 | ||
137 | ecmd->speed = ((bmcr & BMCR_SPEED1000 && | 137 | ethtool_cmd_speed_set(ecmd, |
138 | (bmcr & BMCR_SPEED100) == 0) ? SPEED_1000 : | 138 | ((bmcr & BMCR_SPEED1000 && |
139 | (bmcr & BMCR_SPEED100) ? SPEED_100 : SPEED_10); | 139 | (bmcr & BMCR_SPEED100) == 0) ? |
140 | SPEED_1000 : | ||
141 | ((bmcr & BMCR_SPEED100) ? | ||
142 | SPEED_100 : SPEED_10))); | ||
140 | ecmd->duplex = (bmcr & BMCR_FULLDPLX) ? DUPLEX_FULL : DUPLEX_HALF; | 143 | ecmd->duplex = (bmcr & BMCR_FULLDPLX) ? DUPLEX_FULL : DUPLEX_HALF; |
141 | } | 144 | } |
142 | 145 | ||