]> git.droids-corp.org - dpdk.git/commitdiff
net/bnxt: handle ring cleanup in case of error
authorKalesh AP <kalesh-anakkur.purayil@broadcom.com>
Thu, 20 Jan 2022 09:12:26 +0000 (14:42 +0530)
committerAjit Khaparde <ajit.khaparde@broadcom.com>
Tue, 25 Jan 2022 04:45:28 +0000 (05:45 +0100)
In bnxt_alloc_mem(), after bnxt_alloc_async_ring_struct(),
any of the functions failure causes an error:

bnxt_hwrm_ring_free(): hwrm_ring_free nq failed. rc:1

Fix this by initializing ring->fw_ring_id to INVALID_HW_RING_ID
in bnxt_alloc_async_ring_struct().

Fixes: bd0a14c99f65 ("net/bnxt: use dedicated CPR for async events")
Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
drivers/net/bnxt/bnxt_ring.c

index dc437f314e777c2a74b0b4116ea82a823b639fc5..5c6c27fed7eab0ebadffc8dd50e75f324faf82c9 100644 (file)
@@ -851,6 +851,7 @@ int bnxt_alloc_async_ring_struct(struct bnxt *bp)
        ring->ring_mask = ring->ring_size - 1;
        ring->vmem_size = 0;
        ring->vmem = NULL;
+       ring->fw_ring_id = INVALID_HW_RING_ID;
 
        bp->async_cp_ring = cpr;
        cpr->cp_ring_struct = ring;