diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2691-amdgpu-dc-Fix-missing-null-checks-in-amdgpu_dm.c.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2691-amdgpu-dc-Fix-missing-null-checks-in-amdgpu_dm.c.patch | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2691-amdgpu-dc-Fix-missing-null-checks-in-amdgpu_dm.c.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2691-amdgpu-dc-Fix-missing-null-checks-in-amdgpu_dm.c.patch new file mode 100644 index 00000000..7081d4ba --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2691-amdgpu-dc-Fix-missing-null-checks-in-amdgpu_dm.c.patch @@ -0,0 +1,80 @@ +From d965c89a8949030acf1d4ba92ae1d7633dab2d48 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ernst=20Sj=C3=B6strand?= <ernstp@gmail.com> +Date: Tue, 7 Nov 2017 21:06:59 +0100 +Subject: [PATCH 2691/4131] amdgpu/dc: Fix missing null checks in amdgpu_dm.c +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From smatch: +error: we previously assumed X could be null + +Acked-by: Christian König <christian.koenig@amd.com> +Reviewed-by: Harry Wentland <harry.wentland@amd.com> +Signed-off-by: Ernst Sjöstrand <ernstp@gmail.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +index 8e8d585..bed59da 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -442,10 +442,12 @@ static int amdgpu_dm_init(struct amdgpu_device *adev) + /* Display Core create. */ + adev->dm.dc = dc_create(&init_data); + +- if (adev->dm.dc) ++ if (adev->dm.dc) { + DRM_INFO("Display Core initialized!\n"); +- else ++ } else { + DRM_INFO("Display Core failed to initialize!\n"); ++ goto error; ++ } + + INIT_WORK(&adev->dm.mst_hotplug_work, hotplug_notify_work_func); + +@@ -2418,7 +2420,7 @@ decide_crtc_timing_for_drm_display_mode(struct drm_display_mode *drm_mode, + } + } + +-static void create_fake_sink(struct amdgpu_dm_connector *aconnector) ++static int create_fake_sink(struct amdgpu_dm_connector *aconnector) + { + struct dc_sink *sink = NULL; + struct dc_sink_init_data sink_init_data = { 0 }; +@@ -2427,14 +2429,18 @@ static void create_fake_sink(struct amdgpu_dm_connector *aconnector) + sink_init_data.sink_signal = aconnector->dc_link->connector_signal; + + sink = dc_sink_create(&sink_init_data); +- if (!sink) ++ if (!sink) { + DRM_ERROR("Failed to create sink!\n"); ++ return -ENOMEM; ++ } + + sink->sink_signal = SIGNAL_TYPE_VIRTUAL; + aconnector->fake_enable = true; + + aconnector->dc_sink = sink; + aconnector->dc_link->local_sink = sink; ++ ++ return 0; + } + + static struct dc_stream_state * +@@ -2468,7 +2474,8 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector, + if (aconnector->mst_port) + goto stream_create_fail; + +- create_fake_sink(aconnector); ++ if (create_fake_sink(aconnector)) ++ goto stream_create_fail; + } + + stream = dc_create_stream_for_sink(aconnector->dc_sink); +-- +2.7.4 + |