-
Puranam V G Tejaswi authored
Currently there is a possibility of spinlock recursion in kgsl_timeline_signal and kgsl_ioctl_timeline_destroy. The issue can happen if two fences are created on a timeline and KGSL_TIMELINE_WAIT_ANY flag is used. First fence is signalled and once the wait is complete, second fence is signalled. This results in a spinlock recursion as the release of first fence is called when the timeline->lock is held. Fix this by making sure that the lock to protect the list and lock used for dma_fence signalling are used correctly. Also make fence_lock per timeline to reduce lock contention among different timelines. Change-Id: I547d62f29d4407fceca9bd766d8e9f93a88b5c6f Signed-off-by: Puranam V G Tejaswi <pvgtejas@codeaurora.org>
b6c5beaa