• R
    drm/i915: Fixing mutex deadlock window at eDP DRRS · 3954e733
    Ramalingam C 提交于
    In invalidate and flush functions of eDP DRRS, if deferred downclock
    work starts execution at a time window between acquiring the drrs
    mutex and cancellation of the deferred work
    (intel_edp_drrs_downclock_work), then deferred work will find
    drrs mutex locked and wait for the same.
    
    Meanwhile the function that acquired mutex drrs invalidate/flush will
    wait for the completion of the deferred work before releasing the mutex.
    Thats a deadlock.
    
    To avoid such deadlock scenario, this change cancels the deferred work
    before acquiring the mutex at invalidate and flush functions.
    Signed-off-by: NRamalingam C <ramalingam.c@intel.com>
    Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
    3954e733
intel_dp.c 153.8 KB