aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1439-drm-amd-powerplay-remove-unnecessary-checking-in-smu.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1439-drm-amd-powerplay-remove-unnecessary-checking-in-smu.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1439-drm-amd-powerplay-remove-unnecessary-checking-in-smu.patch80
1 files changed, 80 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1439-drm-amd-powerplay-remove-unnecessary-checking-in-smu.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1439-drm-amd-powerplay-remove-unnecessary-checking-in-smu.patch
new file mode 100644
index 00000000..6a1b82a5
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1439-drm-amd-powerplay-remove-unnecessary-checking-in-smu.patch
@@ -0,0 +1,80 @@
+From 7fe47770d681c989542ba4b1ed68e3acb244ae0d Mon Sep 17 00:00:00 2001
+From: Huang Rui <ray.huang@amd.com>
+Date: Tue, 22 Jan 2019 16:26:39 +0800
+Subject: [PATCH 1439/2940] drm/amd/powerplay: remove unnecessary checking in
+ smu_hw_fini
+
+This patch removes unnecessary NULL pointer checking in smu_hw_fini, because
+kfree is able to handle NULL pointer case.
+
+Suggested-by: Hawking Zhang <Hawking.Zhang@amd.com>
+Signed-off-by: Huang Rui <ray.huang@amd.com>
+Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
+Reviewed-by: Kevin Wang <kevin1.wang@amd.com>
+Acked-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 42 ++++++++--------------
+ 1 file changed, 14 insertions(+), 28 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
+index 04ee523b2bf9..81939c40b9bc 100644
+--- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
++++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
+@@ -683,40 +683,26 @@ static int smu_hw_fini(void *handle)
+ if (!is_support_sw_smu(adev))
+ return -EINVAL;
+
+- if (table_context->driver_pptable) {
+- kfree(table_context->driver_pptable);
+- table_context->driver_pptable = NULL;
+- }
++ kfree(table_context->driver_pptable);
++ table_context->driver_pptable = NULL;
+
+- if (table_context->max_sustainable_clocks) {
+- kfree(table_context->max_sustainable_clocks);
+- table_context->max_sustainable_clocks = NULL;
+- }
++ kfree(table_context->max_sustainable_clocks);
++ table_context->max_sustainable_clocks = NULL;
+
+- if (table_context->od_feature_capabilities) {
+- kfree(table_context->od_feature_capabilities);
+- table_context->od_feature_capabilities = NULL;
+- }
++ kfree(table_context->od_feature_capabilities);
++ table_context->od_feature_capabilities = NULL;
+
+- if (table_context->od_settings_max) {
+- kfree(table_context->od_settings_max);
+- table_context->od_settings_max = NULL;
+- }
++ kfree(table_context->od_settings_max);
++ table_context->od_settings_max = NULL;
+
+- if (table_context->od_settings_min) {
+- kfree(table_context->od_settings_min);
+- table_context->od_settings_min = NULL;
+- }
++ kfree(table_context->od_settings_min);
++ table_context->od_settings_min = NULL;
+
+- if (table_context->overdrive_table) {
+- kfree(table_context->overdrive_table);
+- table_context->overdrive_table = NULL;
+- }
++ kfree(table_context->overdrive_table);
++ table_context->overdrive_table = NULL;
+
+- if (table_context->od8_settings) {
+- kfree(table_context->od8_settings);
+- table_context->od8_settings = NULL;
+- }
++ kfree(table_context->od8_settings);
++ table_context->od8_settings = NULL;
+
+ ret = smu_fini_fb_allocations(smu);
+ if (ret)
+--
+2.17.1
+