drm/amd/powerplay/hwmgr: use kmemdup
authorMuhammad Falak R Wani <falakreyaz@gmail.com>
Thu, 19 May 2016 11:15:28 +0000 (16:45 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 19 May 2016 15:01:02 +0000 (11:01 -0400)
Use kmemdup when some other buffer is immediately copied into allocated
region. It replaces call to allocation followed by memcpy, by a single
call to kmemdup.

Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c

index 4cef7a527696f1297c04d006216ac535bc884a14..aa6be033f21b36832ad67f156d6b1954cd8827ea 100644 (file)
@@ -4726,11 +4726,11 @@ static int polaris10_get_pp_table(struct pp_hwmgr *hwmgr, char **table)
        struct polaris10_hwmgr *data = (struct polaris10_hwmgr *)(hwmgr->backend);
 
        if (!data->soft_pp_table) {
-               data->soft_pp_table = kzalloc(hwmgr->soft_pp_table_size, GFP_KERNEL);
+               data->soft_pp_table = kmemdup(hwmgr->soft_pp_table,
+                                             hwmgr->soft_pp_table_size,
+                                             GFP_KERNEL);
                if (!data->soft_pp_table)
                        return -ENOMEM;
-               memcpy(data->soft_pp_table, hwmgr->soft_pp_table,
-                               hwmgr->soft_pp_table_size);
        }
 
        *table = (char *)&data->soft_pp_table;