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 <[email protected]> > --- > 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.
> */
signature.asc
Description: This is a digitally signed message part

