diff options
Diffstat (limited to 'drivers/net/chelsio/cxgb2.c')
| -rw-r--r-- | drivers/net/chelsio/cxgb2.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/chelsio/cxgb2.c b/drivers/net/chelsio/cxgb2.c index 5f82c9c3497..8e14d652996 100644 --- a/drivers/net/chelsio/cxgb2.c +++ b/drivers/net/chelsio/cxgb2.c @@ -638,11 +638,12 @@ static int set_settings(struct net_device *dev, struct ethtool_cmd *cmd)  		return -EOPNOTSUPP;             /* can't change speed/duplex */  	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; -		lc->requested_speed = cmd->speed; +		lc->requested_speed = speed;  		lc->requested_duplex = cmd->duplex;  		lc->advertising = 0;  	} else {  |