Commit 24bf582e authored by kbuild test robot's avatar kbuild test robot Committed by Alex Deucher

drm/amd/powerplay: fix memdup.cocci warnings

Simplify the code a bit by using kmemdup instead of kzalloc and memcpy.

Generated by: scripts/coccinelle/api/memdup.cocci

CC: Likun Gao <Likun.Gao@amd.com>
Reviewed-by: default avatarLikun Gao <Likun.Gao@amd.com>
Acked-by: default avatarHuang Rui <ray.huang@amd.com>
Signed-off-by: default avatarkbuild test robot <fengguang.wu@intel.com>
Signed-off-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d38ca8f0
...@@ -204,14 +204,12 @@ static int vega20_setup_od8_information(struct smu_context *smu) ...@@ -204,14 +204,12 @@ static int vega20_setup_od8_information(struct smu_context *smu)
if (table_context->od_feature_capabilities) if (table_context->od_feature_capabilities)
return -EINVAL; return -EINVAL;
table_context->od_feature_capabilities = kzalloc(od_feature_array_size, GFP_KERNEL); table_context->od_feature_capabilities = kmemdup(&powerplay_table->OverDrive8Table.ODFeatureCapabilities,
od_feature_array_size,
GFP_KERNEL);
if (!table_context->od_feature_capabilities) if (!table_context->od_feature_capabilities)
return -ENOMEM; return -ENOMEM;
memcpy(table_context->od_feature_capabilities,
&powerplay_table->OverDrive8Table.ODFeatureCapabilities,
od_feature_array_size);
/* Setup correct ODSettingCount, and store ODSettingArray from /* Setup correct ODSettingCount, and store ODSettingArray from
* powerplay table to od_settings_max and od_setting_min */ * powerplay table to od_settings_max and od_setting_min */
od_setting_count = od_setting_count =
...@@ -225,7 +223,9 @@ static int vega20_setup_od8_information(struct smu_context *smu) ...@@ -225,7 +223,9 @@ static int vega20_setup_od8_information(struct smu_context *smu)
if (table_context->od_settings_max) if (table_context->od_settings_max)
return -EINVAL; return -EINVAL;
table_context->od_settings_max = kzalloc(od_setting_array_size, GFP_KERNEL); table_context->od_settings_max = kmemdup(&powerplay_table->OverDrive8Table.ODSettingsMax,
od_setting_array_size,
GFP_KERNEL);
if (!table_context->od_settings_max) { if (!table_context->od_settings_max) {
kfree(table_context->od_feature_capabilities); kfree(table_context->od_feature_capabilities);
...@@ -233,14 +233,12 @@ static int vega20_setup_od8_information(struct smu_context *smu) ...@@ -233,14 +233,12 @@ static int vega20_setup_od8_information(struct smu_context *smu)
return -ENOMEM; return -ENOMEM;
} }
memcpy(table_context->od_settings_max,
&powerplay_table->OverDrive8Table.ODSettingsMax,
od_setting_array_size);
if (table_context->od_settings_min) if (table_context->od_settings_min)
return -EINVAL; return -EINVAL;
table_context->od_settings_min = kzalloc(od_setting_array_size, GFP_KERNEL); table_context->od_settings_min = kmemdup(&powerplay_table->OverDrive8Table.ODSettingsMin,
od_setting_array_size,
GFP_KERNEL);
if (!table_context->od_settings_min) { if (!table_context->od_settings_min) {
kfree(table_context->od_feature_capabilities); kfree(table_context->od_feature_capabilities);
...@@ -249,10 +247,6 @@ static int vega20_setup_od8_information(struct smu_context *smu) ...@@ -249,10 +247,6 @@ static int vega20_setup_od8_information(struct smu_context *smu)
table_context->od_settings_max = NULL; table_context->od_settings_max = NULL;
return -ENOMEM; return -ENOMEM;
} }
memcpy(table_context->od_settings_min,
&powerplay_table->OverDrive8Table.ODSettingsMin,
od_setting_array_size);
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment