]> git.baikalelectronics.ru Git - kernel.git/commit
i40e: Fix issue when maximum queues is exceeded
authorJedrzej Jagielski <jedrzej.jagielski@intel.com>
Fri, 5 Nov 2021 11:17:00 +0000 (11:17 +0000)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Thu, 20 Jan 2022 18:25:40 +0000 (10:25 -0800)
commitac3e4831ddf933b7506b70ffaca609a61cb48efe
tree0924918b8111e455fbd8347424c35caace6bcaa6
parent06fac1fcb901bfc016abd8ada0627f8e6367bd7d
i40e: Fix issue when maximum queues is exceeded

Before this patch VF interface vanished when
maximum queue number was exceeded. Driver tried
to add next queues even if there was not enough
space. PF sent incorrect number of queues to
the VF when there were not enough of them.

Add an additional condition introduced to check
available space in 'qp_pile' before proceeding.
This condition makes it impossible to add queues
if they number is greater than the number resulting
from available space.
Also add the search for free space in PF queue
pair piles.

Without this patch VF interfaces are not seen
when available space for queues has been
exceeded and following logs appears permanently
in dmesg:
"Unable to get VF config (-32)".
"VF 62 failed opcode 3, retval: -5"
"Unable to get VF config due to PF error condition, not retrying"

Fixes: d3eb298d139a ("i40e: driver core headers")
Fixes: 79a154c5e3e8 ("i40e: main driver core")
Signed-off-by: Jaroslaw Gawin <jaroslawx.gawin@intel.com>
Signed-off-by: Slawomir Laba <slawomirx.laba@intel.com>
Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/i40e/i40e.h
drivers/net/ethernet/intel/i40e/i40e_main.c
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c