[Intel-gfx] [PATCH i-g-t 2/2] lib/igt_kms: Disable crtc in legacy path when output is unset

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Tue Oct 3 14:11:42 UTC 2017


When the output is unset, but the fb is still valid we still have
to perform a disable on the crtc.

This ixes the following crash in kms_color (although previous commit
does as well):

(gdb) bt
0  igt_output_get_mode (output=output at entry=0x0) at igt_kms.c:2828
1  0x000055555556f0d5 in igt_primary_plane_commit_legacy(..) at igt_kms.c:2341
2  igt_plane_commit (fail_on_error=true, s=COMMIT_LEGACY, ..) at igt_kms.c:2394
3  igt_pipe_commit (fail_on_error=true, s=COMMIT_LEGACY, ..) at igt_kms.c:2435
4  do_display_commit (display=0x7fffffffe5d8, s=COMMIT_LEGACY, ..) at igt_kms.c:2667
5  0x000055555556f38e in igt_display_commit2 (display=<optimized out>, s=<optimized out>) at igt_kms.c:2777
6  0x000055555555ef84 in run_tests_for_pipe (data=.., p=PIPE_B) at kms_color.c:1053
7  0x000055555555f610 in __real_main1189 () at kms_color.c:1206
8  0x000055555555cbc7 in main (argc=<optimized out>, argv=<optimized out>) at kms_color.c:1189

Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
---
 lib/igt_kms.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index d25090b05c70..a572fc60d59d 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -2336,7 +2336,7 @@ static int igt_primary_plane_commit_legacy(igt_plane_t *primary,
 		return 0;
 
 	crtc_id = pipe->crtc_id;
-	fb_id = igt_plane_get_fb_id(primary);
+	fb_id = output ? igt_plane_get_fb_id(primary) : 0;
 	if (fb_id)
 		mode = igt_output_get_mode(output);
 	else
-- 
2.14.1



More information about the Intel-gfx mailing list