On Tue, 11 Feb 2025 16:49:58 +0800 Wenbo Cao <caowe...@mucse.com> wrote:
> +static void rnp_rx_queue_release(void *_rxq) > +{ > + struct rnp_rx_queue *rxq = (struct rnp_rx_queue *)_rxq; > + > + PMD_INIT_FUNC_TRACE(); > + > + if (rxq) { > + rnp_rx_queue_release_mbuf(rxq); > + if (rxq->rz) > + rte_memzone_free(rxq->rz); > + if (rxq->sw_ring) > + rte_free(rxq->sw_ring); > + rte_free(rxq); > + } > +} > + Null checks before free are unnecessary. The coccinelle script null_free will generate this: diff --git a/drivers/net/rnp/rnp_rxtx.c b/drivers/net/rnp/rnp_rxtx.c index 9459b5b93d..990f0c5dfb 100644 --- a/drivers/net/rnp/rnp_rxtx.c +++ b/drivers/net/rnp/rnp_rxtx.c @@ -56,10 +56,8 @@ static void rnp_rx_queue_release(void *_rxq) if (rxq) { rnp_rx_queue_release_mbuf(rxq); - if (rxq->rz) - rte_memzone_free(rxq->rz); - if (rxq->sw_ring) - rte_free(rxq->sw_ring); + rte_memzone_free(rxq->rz); + rte_free(rxq->sw_ring); rte_free(rxq); } } @@ -279,8 +277,7 @@ int rnp_rx_queue_setup(struct rte_eth_dev *eth_dev, return 0; rxbd_setup_failed: - if (rxq->rz) - rte_memzone_free(rxq->rz); + rte_memzone_free(rxq->rz); fail: rte_free(rxq); @@ -312,10 +309,8 @@ static void rnp_tx_queue_release(void *_txq) if (txq) { rnp_tx_queue_release_mbuf(txq); - if (txq->rz) - rte_memzone_free(txq->rz); - if (txq->sw_ring) - rte_free(txq->sw_ring); + rte_memzone_free(txq->rz); + rte_free(txq->sw_ring); rte_free(txq); } } ~ ~