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.
>                */


Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to