Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / drivers / net / e1000e / es2lan.c
index f4bbeb2..c0ecb2d 100644 (file)
@@ -836,6 +836,7 @@ static s32 e1000_init_hw_80003es2lan(struct e1000_hw *hw)
        struct e1000_mac_info *mac = &hw->mac;
        u32 reg_data;
        s32 ret_val;
+       u16 kum_reg_data;
        u16 i;
 
        e1000_initialize_hw_bits_80003es2lan(hw);
@@ -861,6 +862,13 @@ static s32 e1000_init_hw_80003es2lan(struct e1000_hw *hw)
        /* Setup link and flow control */
        ret_val = e1000e_setup_link(hw);
 
+       /* Disable IBIST slave mode (far-end loopback) */
+       e1000_read_kmrn_reg_80003es2lan(hw, E1000_KMRNCTRLSTA_INBAND_PARAM,
+                                       &kum_reg_data);
+       kum_reg_data |= E1000_KMRNCTRLSTA_IBIST_DISABLE;
+       e1000_write_kmrn_reg_80003es2lan(hw, E1000_KMRNCTRLSTA_INBAND_PARAM,
+                                        kum_reg_data);
+
        /* Set the transmit descriptor write-back policy */
        reg_data = er32(TXDCTL(0));
        reg_data = (reg_data & ~E1000_TXDCTL_WTHRESH) |