bnx2x: Fix link problem with some DACs
authorYaniv Rosner <yanivr@broadcom.com>
Tue, 15 Jun 2010 06:25:19 +0000 (23:25 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Jun 2010 06:25:19 +0000 (23:25 -0700)
Change 2wire transfer rate of SFP+ module EEPROM from 400Khz to 100Khz
since some DACs(direct attached cables) do not work at 400Khz.

Reported-by: Krzysztof Oldzki <ole@ans.pl>
Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bnx2x_link.c

index ff70be898765d79b5ca45e83332fb4bd810de948..0383e30663135355d9de8ea79bc7b926fe162a7d 100644 (file)
@@ -4266,14 +4266,16 @@ static u8 bnx2x_ext_phy_init(struct link_params *params, struct link_vars *vars)
                                               MDIO_PMA_REG_10G_CTRL2, 0x0008);
                        }
 
-                       /* Set 2-wire transfer rate to 400Khz since 100Khz
-                       is not operational */
+                       /* Set 2-wire transfer rate of SFP+ module EEPROM
+                        * to 100Khz since some DACs(direct attached cables) do
+                        * not work at 400Khz.
+                        */
                        bnx2x_cl45_write(bp, params->port,
                                       ext_phy_type,
                                       ext_phy_addr,
                                       MDIO_PMA_DEVAD,
                                       MDIO_PMA_REG_8727_TWO_WIRE_SLAVE_ADDR,
-                                      0xa101);
+                                      0xa001);
 
                        /* Set TX PreEmphasis if needed */
                        if ((params->feature_config_flags &