diff options
author | Yaniv Rosner <yanivr@broadcom.com> | 2013-05-01 00:27:57 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-05-01 15:07:43 -0400 |
commit | b0261926ef666142ff9f7de92622172bf1164a26 (patch) | |
tree | 2d83d45cae72be2bf419bcd921e4fe05f2343d77 /drivers/net/ethernet/broadcom | |
parent | be3e45810bb1ee0bdfa93f6b9532d8c451e50f48 (diff) |
bnx2x: correct reading of speed capabilities
When the bnx2x driver reads the port configuration - mask irrelevant bits.
Without this change, the unintended bits may cause the driver to needlessly
toggle the link, as a comparison in the link flap avoidance flow will show
that the old link did not advertise the same capabilities and thus cannot
be retained.
Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c index a024eec94be1..ad98c296b1a1 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | |||
@@ -10667,10 +10667,12 @@ static void bnx2x_get_port_hwinfo(struct bnx2x *bp) | |||
10667 | 10667 | ||
10668 | bp->link_params.speed_cap_mask[0] = | 10668 | bp->link_params.speed_cap_mask[0] = |
10669 | SHMEM_RD(bp, | 10669 | SHMEM_RD(bp, |
10670 | dev_info.port_hw_config[port].speed_capability_mask); | 10670 | dev_info.port_hw_config[port].speed_capability_mask) & |
10671 | PORT_HW_CFG_SPEED_CAPABILITY_D0_MASK; | ||
10671 | bp->link_params.speed_cap_mask[1] = | 10672 | bp->link_params.speed_cap_mask[1] = |
10672 | SHMEM_RD(bp, | 10673 | SHMEM_RD(bp, |
10673 | dev_info.port_hw_config[port].speed_capability_mask2); | 10674 | dev_info.port_hw_config[port].speed_capability_mask2) & |
10675 | PORT_HW_CFG_SPEED_CAPABILITY_D0_MASK; | ||
10674 | bp->port.link_config[0] = | 10676 | bp->port.link_config[0] = |
10675 | SHMEM_RD(bp, dev_info.port_feature_config[port].link_config); | 10677 | SHMEM_RD(bp, dev_info.port_feature_config[port].link_config); |
10676 | 10678 | ||