ice: Fix ice_cfg_rdma_fltr() to only update relevant fields
authorBrett Creeley <brett.creeley@intel.com>
Mon, 13 Mar 2023 20:36:08 +0000 (13:36 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 28 Mar 2023 16:43:12 +0000 (09:43 -0700)
commitd94dbdc4e0209b5e7d736ab696f8d635b034e3ee
treebd62a131f7ca56a7c72ea9f2fd47e23f32fe8c94
parent66ceaa4c4507f2b598d37b528796dd34158d31bf
ice: Fix ice_cfg_rdma_fltr() to only update relevant fields

The current implementation causes ice_vsi_update() to update all VSI
fields based on the cached VSI context. This also assumes that the
ICE_AQ_VSI_PROP_Q_OPT_VALID bit is set. This can cause problems if the
VSI context is not correctly synced by the driver. Fix this by only
updating the fields that correspond to ICE_AQ_VSI_PROP_Q_OPT_VALID.
Also, make sure to save the updated result in the cached VSI context
on success.

Fixes: 348048e724a0 ("ice: Implement iidc operations")
Co-developed-by: Robert Malz <robertx.malz@intel.com>
Signed-off-by: Robert Malz <robertx.malz@intel.com>
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Reviewed-by: Piotr Raczynski <piotr.raczynski@intel.com>
Tested-by: Jakub Andrysiak <jakub.andrysiak@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_switch.c