summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorGuEe-GUI <[email protected]>2026-07-20 10:56:19 +0800
committerRbb666 <[email protected]>2026-07-20 11:36:37 +0800
commitc22b3931b61fffa2b92b68ca38c7a7bc58728877 (patch)
treee9c2799a4c6a179b63ce95e9a8f68eeaebc76d3c /components
parentdf959080fcc8484707d1fb3636fac21a48f410a6 (diff)
[pic][gicv3-its] fixup cleanup path removes list node after freeing it
Link: https://github.com/RT-Thread/rt-thread/issues/11604 Signed-off-by: GuEe-GUI <[email protected]>
Diffstat (limited to 'components')
-rwxr-xr-xcomponents/drivers/pic/pic-gicv3-its.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/components/drivers/pic/pic-gicv3-its.c b/components/drivers/pic/pic-gicv3-its.c
index 33f033fefd..7fdbb82773 100755
--- a/components/drivers/pic/pic-gicv3-its.c
+++ b/components/drivers/pic/pic-gicv3-its.c
@@ -1482,6 +1482,7 @@ rt_err_t gicv3_its_ofw_probe(struct rt_ofw_node *np, const struct rt_ofw_node_id
goto _free_all;
}
+ rt_list_init(&its->list);
its->base = rt_ofw_iomap(its_np, 0);
if (!its->base)
@@ -1501,7 +1502,6 @@ rt_err_t gicv3_its_ofw_probe(struct rt_ofw_node *np, const struct rt_ofw_node_id
}
its->np = its_np;
- rt_list_init(&its->list);
rt_list_insert_before(&its_nodes, &its->list);
}
@@ -1577,8 +1577,7 @@ rt_err_t gicv3_its_ofw_probe(struct rt_ofw_node *np, const struct rt_ofw_node_id
_free_all:
rt_list_for_each_entry_safe(its, its_next, &its_nodes, list)
{
- rt_free(its);
- rt_list_remove(&its->list);
+ its_init_fail(its);
}
return err;