[PATCH v9 08/28] net/rnp: add queue setup and release operations
Stephen Hemminger
stephen at networkplumber.org
Tue Feb 11 17:03:19 CET 2025
On Tue, 11 Feb 2025 16:49:58 +0800
Wenbo Cao <caowenbo at 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);
}
}
~
~
More information about the dev
mailing list