Commit c654dd07 authored by Gustavo Padovan's avatar Gustavo Padovan Committed by Sean Paul

dma-buf/sync_file: free fences array in num_fences is 1

When merging sync_files there is a case when we can end up with only one
fence in the merged sync_file: when all fences belong to the same
timeline.

So for this case a fence_array is not created instead we just assigned the
fence to sync_file->fence. Then we do not use the fences array anymore nor
does free it.

This patch frees the array.
Reported-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1474442419-6040-1-git-send-email-gustavo@padovan.org
parent 6a2925ea
...@@ -150,6 +150,7 @@ static int sync_file_set_fence(struct sync_file *sync_file, ...@@ -150,6 +150,7 @@ static int sync_file_set_fence(struct sync_file *sync_file,
*/ */
if (num_fences == 1) { if (num_fences == 1) {
sync_file->fence = fences[0]; sync_file->fence = fences[0];
kfree(fences);
} else { } else {
array = fence_array_create(num_fences, fences, array = fence_array_create(num_fences, fences,
fence_context_alloc(1), 1, false); fence_context_alloc(1), 1, false);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment