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);
        }
 }
~
~

Reply via email to