From: Chengwen Feng <fengcheng...@huawei.com>

Verify queue_id for rte_eth_tx_done_cleanup API.

Fixes: 44a718c457b5 ("ethdev: add API to free consumed buffers in Tx ring")
Cc: sta...@dpdk.org

Signed-off-by: Chengwen Feng <fengcheng...@huawei.com>
---
v2: make the check under RTE_ETHDEV_DEBUG_TX.
---
 lib/ethdev/rte_ethdev.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
index 12f42f1d68a9..6413c54e3b39 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -2910,6 +2910,12 @@ rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t 
queue_id, uint32_t free_cnt)
        RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
        dev = &rte_eth_devices[port_id];
 
+#ifdef RTE_ETHDEV_DEBUG_TX
+       ret = eth_dev_validate_tx_queue(dev, queue_id);
+       if (ret != 0)
+               return ret;
+#endif
+
        if (*dev->dev_ops->tx_done_cleanup == NULL)
                return -ENOTSUP;
 
-- 
2.22.0

Reply via email to