projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ethtool: Use full 32 bit speed range in ethtool's set_settings
[cascardo/linux.git]
/
drivers
/
net
/
cxgb3
/
cxgb3_main.c
diff --git
a/drivers/net/cxgb3/cxgb3_main.c
b/drivers/net/cxgb3/cxgb3_main.c
index
0404918
..
0526715
100644
(file)
--- a/
drivers/net/cxgb3/cxgb3_main.c
+++ b/
drivers/net/cxgb3/cxgb3_main.c
@@
-1821,7
+1821,8
@@
static int set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
* being requested.
*/
if (cmd->autoneg == AUTONEG_DISABLE) {
* being requested.
*/
if (cmd->autoneg == AUTONEG_DISABLE) {
- int cap = speed_duplex_to_caps(cmd->speed, cmd->duplex);
+ u32 speed = ethtool_cmd_speed(cmd);
+ int cap = speed_duplex_to_caps(speed, cmd->duplex);
if (lc->supported & cap)
return 0;
}
if (lc->supported & cap)
return 0;
}
@@
-1829,11
+1830,12
@@
static int set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
}
if (cmd->autoneg == AUTONEG_DISABLE) {
}
if (cmd->autoneg == AUTONEG_DISABLE) {
- int cap = speed_duplex_to_caps(cmd->speed, cmd->duplex);
+ u32 speed = ethtool_cmd_speed(cmd);
+ int cap = speed_duplex_to_caps(speed, cmd->duplex);
- if (!(lc->supported & cap) ||
cmd->speed == SPEED_1000
)
+ if (!(lc->supported & cap) ||
(speed == SPEED_1000)
)
return -EINVAL;
return -EINVAL;
- lc->requested_speed =
cmd->
speed;
+ lc->requested_speed = speed;
lc->requested_duplex = cmd->duplex;
lc->advertising = 0;
} else {
lc->requested_duplex = cmd->duplex;
lc->advertising = 0;
} else {