net/bnxt: fix error handling in VNIC prepare
net/bnxt: fix error handling in VNIC prepare

Resources should be freed on error conditions. i.e, VNIC and
VNIC context created in HW and memory allocated in
bnxt_vnic_grp_alloc() should be freed.

Added a new function bnxt_vnic_destroy() to do the cleanup.
This lightweight function can be used in flow destroy/flush
path to avoid duplicate code as well.

Fixes: d24610f7bfda ("net/bnxt: allow flow creation when RSS is enabled")
Cc: stable@dpdk.org

Signed-off-by: Kalesh AP <818b6a3caba85cc3a76890be15484140b8e9f23b@broadcom.com>
Reviewed-by: Somnath Kotur <b8220280eb86080d22ca0cb32db0b374b9a89cc6@broadcom.com>
Reviewed-by: Ajit Khaparde <01965fbd61169dc18f3fb5e13de7f67d298f8924@broadcom.com>

john-mcnamara-intel/dpdk,john-mcnamara-intel/dpdk,john-mcnamara-intel/dpdk,john-mcnamara-intel/dpdk