Before:
  ifup eth0
  ethtool -A eth0 autoneg off rx on
  ethtool -a eth0  # rx on, as expected
  ifconfig eth0 up
  sleep 5
  ethtool -a eth0  # rx off, not expected

After:
  rx on with iface up, as expected

Signed-off-by: David Decotigny <[email protected]>
---
 drivers/net/ethernet/intel/e1000e/mac.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/mac.c 
b/drivers/net/ethernet/intel/e1000e/mac.c
index 8c386f3a..ef014ae 100644
--- a/drivers/net/ethernet/intel/e1000e/mac.c
+++ b/drivers/net/ethernet/intel/e1000e/mac.c
@@ -1048,7 +1048,8 @@ s32 e1000e_config_fc_after_link_up(struct e1000_hw *hw)
         * has completed, and if so, how the PHY and link partner has
         * flow control configured.
         */
-       if ((hw->phy.media_type == e1000_media_type_copper) && mac->autoneg) {
+       if ((hw->phy.media_type == e1000_media_type_copper) && mac->autoneg &&
+           hw->adapter->fc_autoneg) {
                /* Read the MII Status Register and check to see if AutoNeg
                 * has completed.  We read this twice because this reg has
                 * some "sticky" (latched) bits.
@@ -1191,7 +1192,7 @@ s32 e1000e_config_fc_after_link_up(struct e1000_hw *hw)
         * flow control configured.
         */
        if ((hw->phy.media_type == e1000_media_type_internal_serdes) &&
-           mac->autoneg) {
+           mac->autoneg && hw->adapter->fc_autoneg) {
                /* Read the PCS_LSTS and check to see if AutoNeg
                 * has completed.
                 */
-- 
2.0.0.526.g5318336

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to