aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/1031-drm-amd-dal-Guard-against-seg-fault-when-register-co.patch
blob: 6a4453486d4e7f1179de9dad8952f92b475b0f13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
From 329416bc23ceaf8bbf6d681441a1c29da1ad4b3d Mon Sep 17 00:00:00 2001
From: Eric Yang <eric.yang2@amd.com>
Date: Wed, 30 Dec 2015 14:27:55 -0500
Subject: [PATCH 1031/1050] drm/amd/dal: Guard against seg fault when register
 connector before fbdev init

Registration of MST connectors happen on workqueue, if it is scheduled before we hit
fbdev init, we will segfault. Simply check for NULL inside the critical region will
resolve this, since the fbdev init function will add missing connectors anyway.

Change-Id: If07a3977d6e40cbca2b6f4a138a40fdf0d89e33a
Signed-off-by: Eric Yang <eric.yang2@amd.com>
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
---
 drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c
index 849fc35..3cd1673 100644
--- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c
+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c
@@ -370,7 +370,11 @@ static void dm_dp_mst_register_connector(struct drm_connector *connector)
 	struct amdgpu_device *adev = dev->dev_private;
 
 	drm_modeset_lock_all(dev);
-	drm_fb_helper_add_one_connector(&adev->mode_info.rfbdev->helper, connector);
+	if (adev->mode_info.rfbdev)
+		drm_fb_helper_add_one_connector(&adev->mode_info.rfbdev->helper, connector);
+	else
+		DRM_ERROR("adev->mode_info.rfbdev is NULL\n");
+
 	drm_modeset_unlock_all(dev);
 
 	drm_connector_register(connector);
-- 
1.9.1