diff options
| author | GuEe-GUI <[email protected]> | 2026-07-20 10:56:19 +0800 |
|---|---|---|
| committer | Rbb666 <[email protected]> | 2026-07-20 11:36:37 +0800 |
| commit | c22b3931b61fffa2b92b68ca38c7a7bc58728877 (patch) | |
| tree | e9c2799a4c6a179b63ce95e9a8f68eeaebc76d3c | |
| parent | df959080fcc8484707d1fb3636fac21a48f410a6 (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]>
| -rwxr-xr-x | components/drivers/pic/pic-gicv3-its.c | 5 |
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; |
