linux/drivers/net/ethernet/intel/iavf
Petr Oros 34d33313b5 iavf: add VIRTCHNL_OP_ADD_VLAN to success completion handler
The V1 ADD_VLAN opcode had no success handler; filters sent via V1
stayed in ADDING state permanently.  Add a fallthrough case so V1
filters also transition ADDING -> ACTIVE on PF confirmation.

Critically, add an `if (v_retval) break` guard: the error switch in
iavf_virtchnl_completion() does NOT return after handling errors,
it falls through to the success switch.  Without this guard, a
PF-rejected ADD would incorrectly mark ADDING filters as ACTIVE,
creating a driver/HW mismatch where the driver believes the filter
is installed but the PF never accepted it.

For V2, this is harmless: iavf_vlan_add_reject() in the error
block already kfree'd all ADDING filters, so the success handler
finds nothing to transition.

Fixes: 968996c070 ("iavf: Fix VLAN_V2 addition/rejection")
Signed-off-by: Petr Oros <poros@redhat.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20260427-jk-iwl-net-petr-oros-fixes-v1-4-cdcb48303fd8@intel.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-04-30 11:37:38 +02:00
..
iavf_adminq_cmd.h iavf: use libie adminq descriptors 2025-07-24 09:28:26 -07:00
iavf_adminq.c iavf: use libie adminq descriptors 2025-07-24 09:28:26 -07:00
iavf_adminq.h iavf: use libie adminq descriptors 2025-07-24 09:28:26 -07:00
iavf_adv_rss.c iavf: add RSS support for GTP protocol via ethtool 2025-11-06 14:19:43 -08:00
iavf_adv_rss.h iavf: add RSS support for GTP protocol via ethtool 2025-11-06 14:19:43 -08:00
iavf_alloc.h
iavf_common.c iavf: use libie_aq_str 2025-07-24 09:43:40 -07:00
iavf_devids.h
iavf_ethtool.c iavf: fix kernel-doc comment style in iavf_ethtool.c 2026-04-10 16:05:44 -07:00
iavf_fdir.c iavf: add support for offloading tc U32 cls filters 2024-08-13 14:51:29 -07:00
iavf_fdir.h iavf: add support for offloading tc U32 cls filters 2024-08-13 14:51:29 -07:00
iavf_main.c iavf: wait for PF confirmation before removing VLAN filters 2026-04-30 11:37:38 +02:00
iavf_osdep.h
iavf_prototype.h iavf: use libie_aq_str 2025-07-24 09:43:40 -07:00
iavf_ptp.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
iavf_ptp.h iavf: add support for Rx timestamps to hotpath 2025-02-14 10:58:08 -08:00
iavf_register.h
iavf_status.h
iavf_trace.h iavf: define Rx descriptors as qwords 2025-02-14 10:58:08 -08:00
iavf_txrx.c iavf: access ->pp through netmem_desc instead of page 2025-07-23 17:46:55 -07:00
iavf_txrx.h net: intel: move RSS packet classifier types to libie 2025-06-09 09:56:18 -07:00
iavf_type.h iavf: fix wrong VLAN mask for legacy Rx descriptors L2TAG2 2026-04-18 12:01:35 -07:00
iavf_types.h iavf: negotiate PTP capabilities 2025-02-14 10:58:07 -08:00
iavf_virtchnl.c iavf: add VIRTCHNL_OP_ADD_VLAN to success completion handler 2026-04-30 11:37:38 +02:00
iavf.h iavf: wait for PF confirmation before removing VLAN filters 2026-04-30 11:37:38 +02:00
Makefile iavf: add initial framework for registering PTP clock 2025-02-14 10:58:07 -08:00