From: Jun Yang <jun.y...@nxp.com>

Free rule memory when the flow is destroyed.

Signed-off-by: Jun Yang <jun.y...@nxp.com>
---
 drivers/net/dpaa2/dpaa2_flow.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/dpaa2/dpaa2_flow.c b/drivers/net/dpaa2/dpaa2_flow.c
index 507a5d0e3..941d62b80 100644
--- a/drivers/net/dpaa2/dpaa2_flow.c
+++ b/drivers/net/dpaa2/dpaa2_flow.c
@@ -3594,6 +3594,7 @@ int dpaa2_flow_destroy(struct rte_eth_dev *dev,
                        "Error in entry addition in QoS table(%d)", ret);
                        goto error;
                }
+               priv->qos_index[flow->qos_index] = 0;
                break;
        default:
                DPAA2_PMD_ERR(
@@ -3603,6 +3604,10 @@ int dpaa2_flow_destroy(struct rte_eth_dev *dev,
        }
 
        LIST_REMOVE(flow, next);
+       rte_free((void *)(size_t)flow->qos_rule.key_iova);
+       rte_free((void *)(size_t)flow->qos_rule.mask_iova);
+       rte_free((void *)(size_t)flow->fs_rule.key_iova);
+       rte_free((void *)(size_t)flow->fs_rule.mask_iova);
        /* Now free the flow */
        rte_free(flow);
 
-- 
2.17.1

Reply via email to