diff options
Diffstat (limited to 'drivers/dma-buf/sync_file.c')
| -rw-r--r-- | drivers/dma-buf/sync_file.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/dma-buf/sync_file.c b/drivers/dma-buf/sync_file.c index abb5fdab75fd..b29a9e817320 100644 --- a/drivers/dma-buf/sync_file.c +++ b/drivers/dma-buf/sync_file.c @@ -150,6 +150,7 @@ static int sync_file_set_fence(struct sync_file *sync_file, */ if (num_fences == 1) { sync_file->fence = fences[0]; + kfree(fences); } else { array = fence_array_create(num_fences, fences, fence_context_alloc(1), 1, false); @@ -253,10 +254,8 @@ static struct sync_file *sync_file_merge(const char *name, struct sync_file *a, for (; i_b < b_num_fences; i_b++) add_fence(fences, &i, b_fences[i_b]); - if (i == 0) { - add_fence(fences, &i, a_fences[0]); - i++; - } + if (i == 0) + fences[i++] = fence_get(a_fences[0]); if (num_fences > i) { nfences = krealloc(fences, i * sizeof(*fences), |
