aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2691-amdgpu-dc-Fix-missing-null-checks-in-amdgpu_dm.c.patch
diff options
context:
space:
mode:
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.patch80
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
+