The signal id is missed when set to fence.
Then signal structure will not be freed at last.
Set correct signal id to fence to fix this issue.
Change-Id: I6a67dac0f6979183796cb8e9f2ac7aef6623ac00
Signed-off-by: Ivan.liu <xiaowen.liu@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit
2ce8ab2b7de5c6eb2f20421909839a747ed85d06)
spin_lock_init(&fence->lock);
+ fence->signal = (gctSIGNAL)(uintptr_t)signal->id;
fence->parent = timeline;
seqno = (unsigned)atomic64_inc_return(&timeline->seqno);
fence->signal = NULL;
dma_fence_signal_locked((struct dma_fence*)fence);
+ dma_fence_put((struct dma_fence*)fence);
+ fence = NULL;
}
return (struct dma_fence*)fence;