drm_modeset_lock oops in next

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Sat Apr 8 08:52:46 UTC 2017


Hey,

Op 07-04-17 om 17:56 schreef Tony Lindgren:
> Hi,
>
> Looks like current next now oopses at least for omapdrm
> when starting X. Reverting commit d20afeb3e2f9 ("Merge
> remote-tracking branch 'drm-misc/for-linux-next'") makes
> things work again.
>
> Any ideas what might be causing the oops below?
Looks like fallout from the acquire_ctx patches?

Could you test the below?

diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
index 838ca742a28b..2c5b5bf68e3d 100644
--- a/drivers/gpu/drm/drm_plane.c
+++ b/drivers/gpu/drm/drm_plane.c
@@ -720,15 +720,16 @@ static int drm_mode_cursor_common(struct drm_device *dev,
 	ret = drm_modeset_lock(&crtc->mutex, &ctx);
 	if (ret)
 		goto out;
-	ret = drm_modeset_lock(&crtc->cursor->mutex, &ctx);
-	if (ret)
-		goto out;
 
 	/*
 	 * If this crtc has a universal cursor plane, call that plane's update
 	 * handler rather than using legacy cursor handlers.
 	 */
 	if (crtc->cursor) {
+		ret = drm_modeset_lock(&crtc->cursor->mutex, &ctx);
+		if (ret)
+			goto out;
+
 		ret = drm_mode_cursor_universal(crtc, req, file_priv, &ctx);
 		goto out;
 	}



More information about the dri-devel mailing list