net/bnxt: avoid freeing memzone multiple times
authorAjit Khaparde <ajit.khaparde@broadcom.com>
Tue, 17 Apr 2018 01:11:25 +0000 (18:11 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 27 Apr 2018 14:54:56 +0000 (15:54 +0100)
commit23460b4c6a7ab68e2b6d217460684a554f7e78eb
treea924d46c55e55c7b865008d1814846fbc7d0f714
parentb22cd7b3c679118ccf817697c4a6839a601d1655
net/bnxt: avoid freeing memzone multiple times

Since we are storing the mem_zone address for each ring created,
we are freeing the same address multiple times.
For example the memory zone created for Rx is being freed during
Rx ring cleanup, AGG ring cleanup and CQ cleanup.
Avoid this by storing the memory zone address in RXQ instead and
free it as a part of queue_release dev_op.
In the same way do the same for TX queues as well.

Fixes: 51c87ebafc7d ("net/bnxt: add Tx queue create/destroy")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/bnxt_ring.c
drivers/net/bnxt/bnxt_ring.h
drivers/net/bnxt/bnxt_rxq.c
drivers/net/bnxt/bnxt_rxq.h
drivers/net/bnxt/bnxt_txq.c
drivers/net/bnxt/bnxt_txq.h