From: Kishore Padmanabha Date: Fri, 9 Oct 2020 11:11:18 +0000 (+0530) Subject: net/bnxt: fix corruption of session details X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=b5fc3ade12a2aa709594f929c36eaea090947b8c;p=dpdk.git net/bnxt: fix corruption of session details The session details that is shared among multiple ports need to be outside the bnxt structure. Fixes: 70e64b27af5b ("net/bnxt: support ULP session manager cleanup") Cc: stable@dpdk.org Signed-off-by: Kishore Padmanabha Reviewed-by: Mike Baucom Reviewed-by: Ajit Khaparde --- diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c index 289619411f..a4d48c71ad 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c @@ -159,7 +159,9 @@ ulp_ctx_session_open(struct bnxt *bp, } if (!session->session_opened) { session->session_opened = 1; - session->g_tfp = &bp->tfp; + session->g_tfp = rte_zmalloc("bnxt_ulp_session_tfp", + sizeof(struct tf), 0); + session->g_tfp->session = bp->tfp.session; } return rc; } @@ -176,6 +178,7 @@ ulp_ctx_session_close(struct bnxt *bp, if (session->session_opened) tf_close_session(&bp->tfp); session->session_opened = 0; + rte_free(session->g_tfp); session->g_tfp = NULL; }