drm/amd/powerplay/hwmgr: use kmemdup
authorMuhammad Falak R Wani <falakreyaz@gmail.com>
Thu, 19 May 2016 11:15:27 +0000 (16:45 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 19 May 2016 15:00:07 +0000 (11:00 -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/fiji_hwmgr.c

index 6f1bad41381abc8ba176ca15644fd1a72d39965b..24a16e49b5713d07f8a53aa81fb719ab75383500 100644 (file)
@@ -5074,11 +5074,11 @@ static int fiji_get_pp_table(struct pp_hwmgr *hwmgr, char **table)
        struct fiji_hwmgr *data = (struct fiji_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;