Skip to content
  • Puranam V G Tejaswi's avatar
    msm: kgsl: Fix spinlock recursion issues · b6c5beaa
    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: default avatarPuranam V G Tejaswi <pvgtejas@codeaurora.org>
    b6c5beaa