The fixup is allocated in of_register_fixup(), so must be freed in
of_unregister_fixup().

Signed-off-by: Sascha Hauer <[email protected]>
---
 common/oftree.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/common/oftree.c b/common/oftree.c
index 
c22793de89fb43f3e9a6c2b0905cbf271fd7cb2b..2bf1a63e491540100839e234f891aef597fae0e0
 100644
--- a/common/oftree.c
+++ b/common/oftree.c
@@ -383,6 +383,7 @@ int of_unregister_fixup(int (*fixup)(struct device_node *, 
void *),
        list_for_each_entry(of_fixup, &of_fixup_list, list) {
                if (of_fixup->fixup == fixup && of_fixup->context == context) {
                        list_del(&of_fixup->list);
+                       free(of_fixup);
                        return 0;
                }
        }

-- 
2.47.3


Reply via email to