of_fdt_unflatten_tree will allocate memory for the device tree, and
returns the pointer for the memory.
Keep a reference for that memory, and free it during release.
Signed-off-by: Jesper Larsen <jela@gomspace.com>
Tested-by: Nava kishore Manne <nava.manne@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
void *dtbo;
int dtbo_size;
+
+ void *mem;
};
static DEFINE_MUTEX(overlay_lock);
int err;
/* unflatten the tree */
- of_fdt_unflatten_tree(blob, NULL, &overlay->overlay);
+ overlay->mem = of_fdt_unflatten_tree(blob, NULL, &overlay->overlay);
if (overlay->overlay == NULL) {
pr_err("%s: failed to unflatten tree\n", __func__);
return -EINVAL;
release_firmware(overlay->fw);
/* kfree with NULL is safe */
kfree(overlay->dtbo);
+ kfree(overlay->mem);
kfree(overlay);
}