[v2,05/16] event/cnxk: fix pointer mismatch in cleanup
Checks
Commit Message
The code to cleanup in case of error was passing incorrect
value to rte_free. The ports[] entry was allocated with
rte_malloc and that should be used instead of the offset
in that object.
Fixes: 97a05c1fe634 ("event/cnxk: add port config")
Cc: sthotton@marvell.com
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/event/cnxk/cnxk_eventdev.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
@@ -121,8 +121,10 @@ cnxk_setup_event_ports(const struct rte_eventdev *event_dev,
return 0;
hws_fini:
for (i = i - 1; i >= 0; i--) {
+ void *ws = event_dev->data->ports[i];
+
event_dev->data->ports[i] = NULL;
- rte_free(cnxk_sso_hws_get_cookie(event_dev->data->ports[i]));
+ rte_free(ws);
}
return -ENOMEM;
}