bianbu-linux-6.6/drivers/net/ethernet/intel/ice
Dave Ertman cceeddd5ca ice: Fix SRIOV LAG disable on non-compliant aggregate
[ Upstream commit 3e39da4fa16c9c09207d98b8a86a6f6436b531c9 ]

If an attribute of an aggregate interface disqualifies it from supporting
SRIOV, the driver will unwind the SRIOV support.  Currently the driver is
clearing the feature bit for all interfaces in the aggregate, but this is
not allowing the other interfaces to unwind successfully on driver unload.

Only clear the feature bit for the interface that is currently unwinding.

Fixes: bf65da2eb2 ("ice: enforce interface eligibility and add messaging for SRIOV LAG")
Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-20 11:59:35 +01:00
..
ice.h ice: split ice_aq_wait_for_event() func into two 2023-08-17 13:59:46 -07:00
ice_adminq_cmd.h ice: clean up __ice_aq_get_set_rss_lut() 2023-08-07 13:01:29 -07:00
ice_arfs.c ice: add individual interrupt allocation 2023-05-16 09:38:38 -07:00
ice_arfs.h ice: remove circular header dependencies on ice.h 2022-03-14 17:22:58 -07:00
ice_base.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-24 10:51:39 -07:00
ice_base.h
ice_cgu_regs.h
ice_common.c ice: drop two params from ice_aq_alloc_free_res() 2023-08-17 13:59:46 -07:00
ice_common.h ice: drop two params from ice_aq_alloc_free_res() 2023-08-17 13:59:46 -07:00
ice_controlq.c ice: remove null checks before devm_kfree() calls 2023-06-22 10:30:34 -07:00
ice_controlq.h ice: reduce initial wait for control queue messages 2023-06-22 10:23:44 -07:00
ice_dcb.c ice: Fix DSCP PFC TLV creation 2023-03-07 13:02:01 -08:00
ice_dcb.h ice: Handle LLDP MIB Pending change 2023-01-19 08:18:03 -08:00
ice_dcb_lib.c ice: Fix undersized tx_flags variable 2023-05-12 09:27:44 +01:00
ice_dcb_lib.h ice: Prevent set_channel from changing queues while RDMA active 2023-01-27 11:32:18 -08:00
ice_dcb_nl.c ice: enforce no DCB config changing when in bond 2023-07-27 10:56:32 -07:00
ice_dcb_nl.h
ice_ddp.c ice: refactor ice_ddp to make functions static 2023-08-17 10:43:24 -07:00
ice_ddp.h ice: refactor ice_ddp to make functions static 2023-08-17 10:43:24 -07:00
ice_devids.h ice: support features on new E810T variants 2022-09-28 11:40:57 -07:00
ice_devlink.c devlink: move port_split/unsplit() ops into devlink_port_ops 2023-05-30 10:32:20 -07:00
ice_devlink.h ice: Prevent ADQ, DCB coexistence with Custom Tx scheduler 2022-11-17 21:41:28 -08:00
ice_eswitch.c Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 2023-08-18 19:09:02 -07:00
ice_eswitch.h ice: use src VSI instead of src MAC in slow-path 2023-05-19 09:10:39 -07:00
ice_eswitch_br.c ice: Accept LAG netdevs in bridge offloads 2023-08-07 13:01:29 -07:00
ice_eswitch_br.h ice: implement static version of ageing 2023-07-24 08:53:42 -07:00
ice_ethtool.c ice: prevent NULL pointer deref during reload 2023-07-14 09:56:20 -07:00
ice_ethtool.h ice: update PHY type to ethtool link mode mapping 2023-05-17 08:43:01 -07:00
ice_ethtool_fdir.c ice: Fix memory management in ice_ethtool_fdir.c 2023-07-24 17:07:51 -07:00
ice_fdir.c
ice_fdir.h
ice_flex_pipe.c ice: Reduce scope of variables 2023-01-19 08:18:03 -08:00
ice_flex_pipe.h ice: Move support DDP code out of ice_flex_pipe.c 2023-01-19 08:18:03 -08:00
ice_flex_type.h ice: Move support DDP code out of ice_flex_pipe.c 2023-01-19 08:18:03 -08:00
ice_flow.c ice: remove null checks before devm_kfree() calls 2023-06-22 10:30:34 -07:00
ice_flow.h ice: remove circular header dependencies on ice.h 2022-03-14 17:22:58 -07:00
ice_fltr.c ice: sync netdev filters after clearing VSI 2023-02-03 09:54:18 -08:00
ice_fltr.h ice: Introduce ice_vlan struct 2022-02-09 09:24:45 -08:00
ice_fw_update.c ice: split ice_aq_wait_for_event() func into two 2023-08-17 13:59:46 -07:00
ice_fw_update.h
ice_gnss.c ice: Don't dereference NULL in ice_gnss_read error path 2023-06-08 08:38:56 -07:00
ice_gnss.h ice: make writes to /dev/gnssX synchronous 2023-06-07 10:51:58 +01:00
ice_hw_autogen.h ice: clean up __ice_aq_get_set_rss_lut() 2023-08-07 13:01:29 -07:00
ice_idc.c ice: add dynamic interrupt allocation 2023-05-16 09:38:38 -07:00
ice_idc_int.h ice: remove circular header dependencies on ice.h 2022-03-14 17:22:58 -07:00
ice_irq.c ice: add dynamic interrupt allocation 2023-05-16 09:38:38 -07:00
ice_irq.h ice: add dynamic interrupt allocation 2023-05-16 09:38:38 -07:00
ice_lag.c ice: Fix SRIOV LAG disable on non-compliant aggregate 2023-11-20 11:59:35 +01:00
ice_lag.h ice: block default rule setting on LAG interface 2023-10-08 17:39:15 +01:00
ice_lan_tx_rx.h ice: Remove and replace ice speed defines with ethtool.h versions 2022-11-23 08:59:42 -08:00
ice_lib.c ice: fix over-shifted variable 2023-10-13 16:47:12 -07:00
ice_lib.h ice: refactor ice_lib to make functions static 2023-08-17 10:43:37 -07:00
ice_main.c ice: Fix safe mode when DDP is missing 2023-10-13 17:57:05 -07:00
ice_nvm.c ice: Remove cppcheck suppressions 2023-01-19 08:18:03 -08:00
ice_nvm.h ice: Add additional flags to ice_nvm_write_activate 2022-08-24 08:45:54 -07:00
ice_osdep.h ice: remove circular header dependencies on ice.h 2022-03-14 17:22:58 -07:00
ice_pf_vsi_vlan_ops.c ice: Support configuring the device to Double VLAN Mode 2022-02-09 09:24:45 -08:00
ice_pf_vsi_vlan_ops.h ice: Add outer_vlan_ops and VSI specific VLAN ops implementations 2022-02-09 09:24:45 -08:00
ice_protocol_type.h ice: Rename enum ice_pkt_flags values 2023-08-07 13:01:29 -07:00
ice_ptp.c ice: fix pin assignment for E810-T without SMA control 2023-11-20 11:58:57 +01:00
ice_ptp.h ice: introduce ICE_TX_TSTAMP_WORK enumeration 2023-06-08 10:20:12 -07:00
ice_ptp_consts.h
ice_ptp_hw.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-29 07:44:56 +02:00
ice_ptp_hw.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-29 07:44:56 +02:00
ice_repr.c ice: Implement basic eswitch bridge setup 2023-07-24 08:53:05 -07:00
ice_repr.h ice: Implement basic eswitch bridge setup 2023-07-24 08:53:05 -07:00
ice_sbq_cmd.h
ice_sched.c ice: refactor ice_sched to make functions static 2023-08-17 13:59:45 -07:00
ice_sched.h ice: refactor ice_sched to make functions static 2023-08-17 13:59:45 -07:00
ice_sriov.c Revert "ice: Fix ice VF reset during iavf initialization" 2023-08-21 09:25:59 -07:00
ice_sriov.h ice: move ice_is_malicious_vf() to ice_virtchnl.c 2023-03-13 11:06:06 -07:00
ice_switch.c ice: drop two params from ice_aq_alloc_free_res() 2023-08-17 13:59:46 -07:00
ice_switch.h ice: remove unused methods 2023-08-17 10:43:06 -07:00
ice_tc_lib.c ice: Add direction metadata 2023-08-07 13:01:29 -07:00
ice_tc_lib.h ice: Fix tx queue rate limit when TCs are configured 2023-07-05 09:29:37 -07:00
ice_trace.h ice: add tracepoints for the switchdev bridge 2023-07-24 08:53:49 -07:00
ice_txrx.c ice: recycle/free all of the fragments from multi-buffer frame 2023-06-01 09:59:39 -07:00
ice_txrx.h ice: Fix undersized tx_flags variable 2023-05-12 09:27:44 +01:00
ice_txrx_lib.c ice: fix W=1 headers mismatch 2023-03-28 09:42:05 -07:00
ice_txrx_lib.h ice: Micro-optimize .ndo_xdp_xmit() path 2023-02-13 19:13:13 +01:00
ice_type.h ice: clean up __ice_aq_get_set_rss_lut() 2023-08-07 13:01:29 -07:00
ice_vf_lib.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-24 10:51:39 -07:00
ice_vf_lib.h Revert "ice: Fix ice VF reset during iavf initialization" 2023-08-21 09:25:59 -07:00
ice_vf_lib_private.h ice: refactor ice_vf_lib to make functions static 2023-08-17 10:43:53 -07:00
ice_vf_mbx.c ice: merge ice_mbx_report_malvf with ice_mbx_vf_state_handler 2023-03-13 11:00:10 -07:00
ice_vf_mbx.h ice: initialize mailbox snapshot earlier in PF init 2023-03-13 11:06:05 -07:00
ice_vf_vsi_vlan_ops.c ice: implement bridge port vlan 2023-07-24 08:53:35 -07:00
ice_vf_vsi_vlan_ops.h ice: implement bridge port vlan 2023-07-24 08:53:35 -07:00
ice_virtchnl.c ice: always add legacy 32byte RXDID in supported_rxdids 2023-09-28 13:37:23 +02:00
ice_virtchnl.h ice: call ice_is_malicious_vf() from ice_vc_process_vf_msg() 2023-03-13 11:06:06 -07:00
ice_virtchnl_allowlist.c ice: Add support Flex RXD 2022-10-27 13:23:43 +02:00
ice_virtchnl_allowlist.h
ice_virtchnl_fdir.c ice: Reset FDIR counter in FDIR init stage 2023-04-04 08:34:52 -07:00
ice_virtchnl_fdir.h ice: introduce ice_vf_lib.c, ice_vf_lib.h, and ice_vf_lib_private.h 2022-03-15 13:22:13 -07:00
ice_vlan.h ice: Use the proto argument for VLAN ops 2022-02-09 09:24:45 -08:00
ice_vlan_mode.c ice: define meta data to match in switch 2023-05-19 08:57:43 -07:00
ice_vlan_mode.h ice: Support configuring the device to Double VLAN Mode 2022-02-09 09:24:45 -08:00
ice_vsi_vlan_lib.c ice: implement bridge port vlan 2023-07-24 08:53:35 -07:00
ice_vsi_vlan_lib.h ice: implement bridge port vlan 2023-07-24 08:53:35 -07:00
ice_vsi_vlan_ops.c ice: Add outer_vlan_ops and VSI specific VLAN ops implementations 2022-02-09 09:24:45 -08:00
ice_vsi_vlan_ops.h ice: implement bridge port vlan 2023-07-24 08:53:35 -07:00
ice_xsk.c ice: xsk: Tx multi-buffer support 2023-07-19 09:56:50 -07:00
ice_xsk.h ice: xsk: change batched Tx descriptor cleaning 2022-09-27 08:11:02 -07:00
Makefile ice: Implement basic eswitch bridge setup 2023-07-24 08:53:05 -07:00