Skip to contentSkip to conversation

drm_modeset_lock oops in next

DISCUSSION Tony Lindgren 2 participants 4 messages Apr 7, 2017 – Apr 10, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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?

Regards,

Tony

8< --------------------------

Internal error: Oops: 5 [#1] SMP ARM
...
CPU: 1 PID: 1637 Comm: X Not tainted 4.11.0-rc5-next-20170407+ #488
Hardware name: Generic OMAP4 (Flattened Device Tree)
task: ec873180 task.stack: ec8b8000
PC is at __ww_mutex_lock.constprop.0+0x34/0x1054
LR is at lock_is_held_type+0x60/0xa8
pc : [<c0833098>]    lr : [<c0199abc>]    psr: a0000013
               sp : ec8b9d18  ip : 00000002  fp : edb2a800

r10: ec8b9dc0 r9 : edb2c800 r8 : ec88c400
r7 : ec8b9e1c r6 : bf70f648 r5 : ec8b9dd8 r4 : 00000010
r3 : 00400100 r2 : ec8b9cf8 r1 : ffffffff r0 : 00000000
Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
Control: 10c5387d Table: ac85c04a DAC: 00000051
Process X (pid: 1637, stack limit = 0xec8b8218)
...
[<c0833098>] (__ww_mutex_lock.constprop.0) from [<c0834150>] (ww_mutex_lock+0x44/0x54) [<c0834150>] (ww_mutex_lock) from [<bf70f648>] (drm_modeset_lock+0x60/0x110 [drm]) [<bf70f648>] (drm_modeset_lock [drm]) from [<bf718740>] (drm_mode_cursor_common+0x98/0x1f0 [drm]) [<bf718740>] (drm_mode_cursor_common [drm]) from [<bf718f1c>] (drm_mode_cursor_ioctl+0x58/0x60 [drm]) [<bf718f1c>] (drm_mode_cursor_ioctl [drm]) from [<bf6fe5c8>] (drm_ioctl+0x1d4/0x404 [drm]) [<bf6fe5c8>] (drm_ioctl [drm]) from [<c02d3884>] (do_vfs_ioctl+0x90/0xa54) [<c02d3884>] (do_vfs_ioctl) from [<c02d42b4>] (SyS_ioctl+0x6c/0x7c)
[<c02d42b4>] (SyS_ioctl) from [<c01077c0>] (ret_fast_syscall+0x0/0x1c)

Code: e58d3018 ebe4cd4e e35a0000 0a000002 (e5943044)

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

#1 lore raw

Hey,

Op 07-04-17 om 17:56 schreef Tony Lindgren:

Quoted 8 lines

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?

drivers/gpu/drm/drm_plane.c +4 -3
index 838ca742a28b..2c5b5bf68e3d 100644
@@ -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;
 	}

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

#2 lore raw
Quoted 10 lines · Maarten Lankhorst

Hey,

Op 07-04-17 om 17:56 schreef Tony Lindgren:

Quoted 7 lines

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.

Quoted 4 lines
Quoted 1 line

Any ideas what might be causing the oops below?

Looks like fallout from the acquire_ctx patches?

Could you test the below?

Yes thanks Daniel Vetter already posted a similar fix as "[PATCH] drm: Only take cursor locks when the cursor plane exists".

Regards,

Tony
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

#3 lore raw

Op 08-04-17 om 18:46 schreef Tony Lindgren:

Quoted 14 lines · Maarten Lankhorst
Quoted 13 lines

Hey,

Op 07-04-17 om 17:56 schreef Tony Lindgren:

Quoted 8 lines

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?

Quoted 7 lines
Quoted 1 line

Could you test the below?

Yes thanks Daniel Vetter already posted a similar fix as "[PATCH] drm: Only take cursor locks when the cursor plane exists".

Regards,

Tony

Yeah saw it later, no worries. :)

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel