diff options
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c')
| -rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c index 9a674b14b40..edfa67adf2f 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c @@ -281,6 +281,8 @@ static int bnx2x_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)  			cmd->lp_advertising |= ADVERTISED_2500baseX_Full;  		if (status & LINK_STATUS_LINK_PARTNER_10GXFD_CAPABLE)  			cmd->lp_advertising |= ADVERTISED_10000baseT_Full; +		if (status & LINK_STATUS_LINK_PARTNER_20GXFD_CAPABLE) +			cmd->lp_advertising |= ADVERTISED_20000baseKR2_Full;  	}  	cmd->maxtxpkt = 0; @@ -463,6 +465,10 @@ static int bnx2x_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)  						ADVERTISED_10000baseKR_Full))  				bp->link_params.speed_cap_mask[cfg_idx] |=  					PORT_HW_CFG_SPEED_CAPABILITY_D0_10G; + +			if (cmd->advertising & ADVERTISED_20000baseKR2_Full) +				bp->link_params.speed_cap_mask[cfg_idx] |= +					PORT_HW_CFG_SPEED_CAPABILITY_D0_20G;  		}  	} else { /* forced speed */  		/* advertise the requested speed and duplex if supported */ |