From 67e59e9c3687d6aa7e74dd88978b39e18f57e4d1 Mon Sep 17 00:00:00 2001 From: Eric Yang Date: Wed, 30 Dec 2015 14:27:55 -0500 Subject: [PATCH 1220/1565] 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 Signed-off-by: Harry Wentland Acked-by: Harry Wentland --- 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