bnx2x: Fix passive DAC cable detection
Fix Passive DAC detection for specific cables, such that even in case SFP_CABLE_TECHNOLOGY option is not set in the EEPROM (offset 8), treat it as a passive DAC cable, since some cables don't have this indication. Signed-off-by: Yaniv Rosner <yanivr@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b899e698fc
commit
e803d33a32
1 changed files with 12 additions and 9 deletions
|
@ -8133,17 +8133,20 @@ static int bnx2x_get_edc_mode(struct bnx2x_phy *phy,
|
|||
*edc_mode = EDC_MODE_ACTIVE_DAC;
|
||||
else
|
||||
check_limiting_mode = 1;
|
||||
} else if (copper_module_type &
|
||||
SFP_EEPROM_FC_TX_TECH_BITMASK_COPPER_PASSIVE) {
|
||||
} else {
|
||||
*edc_mode = EDC_MODE_PASSIVE_DAC;
|
||||
/* Even in case PASSIVE_DAC indication is not set,
|
||||
* treat it as a passive DAC cable, since some cables
|
||||
* don't have this indication.
|
||||
*/
|
||||
if (copper_module_type &
|
||||
SFP_EEPROM_FC_TX_TECH_BITMASK_COPPER_PASSIVE) {
|
||||
DP(NETIF_MSG_LINK,
|
||||
"Passive Copper cable detected\n");
|
||||
*edc_mode =
|
||||
EDC_MODE_PASSIVE_DAC;
|
||||
} else {
|
||||
DP(NETIF_MSG_LINK,
|
||||
"Unknown copper-cable-type 0x%x !!!\n",
|
||||
copper_module_type);
|
||||
return -EINVAL;
|
||||
} else {
|
||||
DP(NETIF_MSG_LINK,
|
||||
"Unknown copper-cable-type\n");
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue