From: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Wed, 23 Jan 2013 16:25:09 +0000 (+0000)
Subject: drm/i915: fixup per-crtc locking in intel_release_load_detect_pipe
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=67c964000236497e00c646472cd6b70b5c5109c8;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

drm/i915: fixup per-crtc locking in intel_release_load_detect_pipe

One of the early return cases missed the mutex unlocking. Hilarity
ensued.

This regression has been introduced in

commit 7b24056be6db7ce907baffdd4cf142ab774ea60c
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Wed Dec 12 00:35:33 2012 +0100

    drm: don't hold crtc mutexes for connector ->detect callbacks

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59750
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Tested-by: Cancan Feng <cancan.feng@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
---

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 8cda2ad19e26..53ec6cb0ffdb 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -6513,6 +6513,7 @@ void intel_release_load_detect_pipe(struct drm_connector *connector,
 			drm_framebuffer_unreference(old->release_fb);
 		}
 
+		mutex_unlock(&crtc->mutex);
 		return;
 	}