ice: Fix and refactor Rx queue disable for VFs
authorBrett Creeley <brett.creeley@intel.com>
Wed, 22 Jan 2020 15:21:32 +0000 (07:21 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sun, 16 Feb 2020 00:49:44 +0000 (16:49 -0800)
commite1fe6926800fc3d498db6ec85c6dea31ab151d8b
treed763218517ee6ff86408b2ebb4153f9408188bf8
parent2309ae385a42c927be537b25ea89be9a0e64fc4a
ice: Fix and refactor Rx queue disable for VFs

Currently when a VF driver sends the PF a request to disable Rx queues
we will disable them one at a time, even if the VF driver sent us a
batch of queues to disable. This is causing issues where the Rx queue
disable times out with LFC enabled. This can be improved by detecting
when the VF is trying to disable all of its queues.

Also remove the variable num_qs_ena from the ice_vf structure as it was
only used to see if there were no Rx and no Tx queues active. Instead
add a function that checks if both the vf->rxq_ena and vf->txq_ena
bitmaps are empty.

Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.h