]> git.baikalelectronics.ru Git - kernel.git/commit
i40e: fix handling of HW ATR eviction
authorJacob Keller <jacob.e.keller@intel.com>
Mon, 12 Jun 2017 22:38:36 +0000 (15:38 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 12 Jun 2017 22:53:02 +0000 (18:53 -0400)
commitf7b015a20f3c234cd7026fc2eba96b53bfbc9e3f
treed6a21f02526c74a1d852836c96bc59338e8c8332
parent5caacd8bf66d26e9bf0c3e4e4fb3d872d0cb647e
i40e: fix handling of HW ATR eviction

A recent commit to refactor the driver and remove the hw_disabled_flags
field accidentally introduced two regressions. First, we overwrote
pf->flags which removed various key flags including the MSI-X settings.

Additionally, it was intended that we have now two flags,
HW_ATR_EVICT_CAPABLE and HW_ATR_EVICT_ENABLED, but this was not done,
and we accidentally were mis-using HW_ATR_EVICT_CAPABLE everywhere.

This patch adds the missing piece, HW_ATR_EVICT_ENABLED, and safely
updates pf->flags instead of overwriting it.

Without this patch we will have many problems including disabling MSI-X
support, and we'll attempt to use HW ATR eviction on devices which do
not support it.

Fixes: cb7261f2867b ("i40e: remove hw_disabled_flags in favor of using separate flag bits", 2017-04-19)
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/i40e/i40e.h
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
drivers/net/ethernet/intel/i40e/i40e_main.c
drivers/net/ethernet/intel/i40e/i40e_txrx.c