i40e: fix incorrect assignment of I40E_FLAG_HW_ATR_EVICT_CAPABLE
Subsystems (2)
PATCH 1/1 i40e: fix incorrect assignment of I40E_FLAG_HW_ATR_EVICT_CAPABLE
When attempting to setup I40E_FLAG_HW_ATR_EVICT_ENABLED, we accidentally broke all PF flags because we directly assigned the value of I40E_FLAG_HW_ATR_EVICT_CAPABLE.
This is incorrect, but the obvious fix of changing the assignment to an |= is not correct either, since I40E_FLAG_HW_ATR_EVICT_CAPABLE is already set in the feature list.
Instead, we intended to set the I40E_FLAG_HW_ATR_EVICT_ENABLED flag, but only if I40E_FLAG_HW_ATR_EVICT_CAPABLE had already been set.
Without this patch we will have many problems including disabling MSI-X support, and not having HW ATR eviction actually enabled.
--- drivers/net/ethernet/intel/i40e/i40e_main.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
The fix provided by Sridhar fixes the major problem but would result in us not actually having HW_ATR_EVICT_ENABLED properly set. The whole process of this series got messed up when we sent upstream, and I am working on sorting it out.
drivers/net/ethernet/intel/i40e/i40e_main.c +4 -3
@@ -8822,11 +8822,12 @@ static int i40e_sw_init(struct i40e_pf *pf) (pf->hw.aq.api_min_ver > 4))) {/* Supported in FW API version higher than 1.4 */ pf->flags |=I40E_FLAG_GENEVE_OFFLOAD_CAPABLE ; - pf->flags = I40E_FLAG_HW_ATR_EVICT_CAPABLE; - } else { - pf->flags =I40E_FLAG_HW_ATR_EVICT_CAPABLE ; } +/* Enable HW ATR eviction if possible */ +if (pf->flags &I40E_FLAG_HW_ATR_EVICT_CAPABLE ) + pf->flags |=I40E_FLAG_HW_ATR_EVICT_ENABLED ; + pf->eeprom_version =0xDEAD ; pf->lan_veb =I40E_NO_VEB ; pf->lan_vsi =I40E_NO_VSI ;
Signature · 1 line
2.13.0.rc0.317.gcc792a6cad5a
PATCH 1/1 i40e: fix incorrect assignment of I40E_FLAG_HW_ATR_EVICT_CAPABLE
Quoted 19 lines · Jacob Keller
When attempting to setup
I40E_FLAG_HW_ATR_EVICT_ENABLED, we accidentally
broke all PF flags because we directly assigned the value ofI40E_FLAG_HW_ATR_EVICT_CAPABLE.This is incorrect, but the obvious fix of changing the assignment to an
Quoted 1 line
= is not correct either, since
I40E_FLAG_HW_ATR_EVICT_CAPABLEisalready set in the feature list.
Instead, we intended to set the
I40E_FLAG_HW_ATR_EVICT_ENABLEDflag, but
only ifI40E_FLAG_HW_ATR_EVICT_CAPABLEhad already been set.Without this patch we will have many problems including disabling MSI-X
support, and not having HW ATR eviction actually enabled.
Quoted 6 lines
Fixes 47994c119a36 ("i40e: remove hw_disabled_flags in favor ofusing separate flag bits", 2017-04-19)
Signed-off-by Jacob Keller <[email protected]>---
?drivers/net/ethernet/intel/i40e/i40e_main.c | 7 ++++--- ?1 file changed, 4 insertions(+), 3 deletions(-)
Grr... Patchwork is not picking patches up. I have sent an email to Jeremy Kerr (patchwork admin for ozlabs.org).
I will apply Jake's updated version of the patch to my net-queue and next-queue trees, but plan to push to Dave net tree.
Alex- can I assume your ACK still stands for this updated change?
Andrew- This has high priority and I would like to see testing
completed in the next day or so, please.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20170504/9a8231d6/attachment.asc>