aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYaniv Rosner <Yaniv.Rosner@qlogic.com>2014-12-03 07:15:20 -0500
committerDavid S. Miller <davem@davemloft.net>2014-12-09 13:26:07 -0500
commitc9cdc74dfab260ebc37190bc359f99d83fc7104f (patch)
treea1a874c3afb12579598b22d6408eeb5f6e94e7ed
parent9b8d16cf81f9d5f7284aee55050fa6753535101b (diff)
bnx2x: Limit 1G link enforcement
Change 1G-SFP module detection by verifying not only that it's not compliant with 10G-Ethernet, but also that it's 1G-ethernet compliant. Signed-off-by: Yaniv Rosner <Yaniv.Rosner@qlogic.com> Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
index 549549eaf580..778e4cd32571 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
@@ -8119,10 +8119,11 @@ static int bnx2x_get_edc_mode(struct bnx2x_phy *phy,
8119 case SFP_EEPROM_CON_TYPE_VAL_LC: 8119 case SFP_EEPROM_CON_TYPE_VAL_LC:
8120 case SFP_EEPROM_CON_TYPE_VAL_RJ45: 8120 case SFP_EEPROM_CON_TYPE_VAL_RJ45:
8121 check_limiting_mode = 1; 8121 check_limiting_mode = 1;
8122 if ((val[SFP_EEPROM_10G_COMP_CODE_ADDR] & 8122 if (((val[SFP_EEPROM_10G_COMP_CODE_ADDR] &
8123 (SFP_EEPROM_10G_COMP_CODE_SR_MASK | 8123 (SFP_EEPROM_10G_COMP_CODE_SR_MASK |
8124 SFP_EEPROM_10G_COMP_CODE_LR_MASK | 8124 SFP_EEPROM_10G_COMP_CODE_LR_MASK |
8125 SFP_EEPROM_10G_COMP_CODE_LRM_MASK)) == 0) { 8125 SFP_EEPROM_10G_COMP_CODE_LRM_MASK)) == 0) &&
8126 (val[SFP_EEPROM_1G_COMP_CODE_ADDR] != 0)) {
8126 DP(NETIF_MSG_LINK, "1G SFP module detected\n"); 8127 DP(NETIF_MSG_LINK, "1G SFP module detected\n");
8127 phy->media_type = ETH_PHY_SFP_1G_FIBER; 8128 phy->media_type = ETH_PHY_SFP_1G_FIBER;
8128 if (phy->req_line_speed != SPEED_1000) { 8129 if (phy->req_line_speed != SPEED_1000) {