Message ID | 98ea4a6a8e42ffa454d5d42749262e8df02c0167.1405462125.git.decot@googlers.com |
---|---|
State | Awaiting Upstream, archived |
Delegated to: | David Miller |
Headers | show |
On Tue, 2014-07-15 at 15:09 -0700, David Decotigny wrote: > 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 <decot@googlers.com> > --- > drivers/net/ethernet/intel/e1000e/mac.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) Thanks David, I will add your patch to my queue. > > 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. > */
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. */
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 <decot@googlers.com> --- drivers/net/ethernet/intel/e1000e/mac.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)