bnxt_en: reclaim max resources if sriov enable fails
authorKashyap Desai <kashyap.desai@broadcom.com>
Tue, 12 Jul 2022 02:26:14 +0000 (22:26 -0400)
committerJakub Kicinski <kuba@kernel.org>
Wed, 13 Jul 2022 03:35:54 +0000 (20:35 -0700)
commitc5b744d38c36a407a41e918602eec4d89730787b
treea760a3a5b171f8265ec2b09a734267f85af85651
parentf946964a9f79f8dcb5a6329265281eebfc23aee5
bnxt_en: reclaim max resources if sriov enable fails

If bnxt_sriov_enable() fails after some resources have been reserved
for the VFs, the current code is not unwinding properly and the
reserved resources become unavailable afterwards.  Fix it by
properly unwinding with a call to bnxt_hwrm_func_qcaps() to
reset all maximum resources.

Also, add the missing bnxt_ulp_sriov_cfg() call to let the RDMA
driver know to abort.

Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.")
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c