• Daniel Vetter's avatar
    drm/i915: Fix locking in DRRS flush/invalidate hooks · 9da7d693
    Daniel Vetter authored
    We must acquire the mutex before we can check drrs.dp, otherwise
    someone might sneak in with a modeset, clear the pointer after we've
    checked it and then the code will Oops.
    
    This issue has been introduced in
    
    commit a93fad0f
    Author: Vandana Kannan <vandana.kannan@intel.com>
    Date:   Sat Jan 10 02:25:59 2015 +0530
    
        drm/i915: DRRS calls based on frontbuffer
    
    v2: Don't blow up on uninitialized mutex and work item by checking
    whether DRRS is support or not first. Also unconditionally initialize
    the mutex/work item to avoid future trouble.
    
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Ramalingam C <ramalingam.c@intel.com>
    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Cc: Vandana Kannan <vandana.kannan@intel.com>
    Cc: stable@vger.kernel.org (4.0+ only)
    Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Tested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
    Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
    9da7d693
intel_dp.c 159 KB