From 522ba5e07873da08707873583df040aed9b3af17 Mon Sep 17 00:00:00 2001 From: Eric Yang Date: Wed, 30 Dec 2015 14:27:55 -0500 Subject: [PATCH 0655/1110] 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. 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 f976409..e7b675e 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 @@ -371,7 +371,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); -- 2.7.4