ice: Prevent set_channel from changing queues while RDMA active
authorDave Ertman <david.m.ertman@intel.com>
Tue, 24 Jan 2023 17:19:43 +0000 (09:19 -0800)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 27 Jan 2023 19:32:18 +0000 (11:32 -0800)
commita6a0974aae4209d039ba81226ded5246eea14961
tree12654dd0ff105a2e07acc25c0db0c4e01fc2e932
parent7083df59abbc2b7500db312cac706493be0273ff
ice: Prevent set_channel from changing queues while RDMA active

The PF controls the set of queues that the RDMA auxiliary_driver requests
resources from.  The set_channel command will alter that pool and trigger a
reconfiguration of the VSI, which breaks RDMA functionality.

Prevent set_channel from executing when RDMA driver bound to auxiliary
device.

Adding a locked variable to pass down the call chain to avoid double
locking the device_lock.

Fixes: 348048e724a0 ("ice: Implement iidc operations")
Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice.h
drivers/net/ethernet/intel/ice/ice_dcb_lib.c
drivers/net/ethernet/intel/ice/ice_dcb_lib.h
drivers/net/ethernet/intel/ice/ice_ethtool.c
drivers/net/ethernet/intel/ice/ice_main.c