]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/amdkfd: Locking PM mutex while allocating IB buffer
authorBen Goz <ben.goz@amd.com>
Tue, 1 May 2018 21:56:10 +0000 (17:56 -0400)
committerOded Gabbay <oded.gabbay@gmail.com>
Tue, 1 May 2018 21:56:10 +0000 (17:56 -0400)
Signed-off-by: Ben Goz <ben.goz@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c

index 91f0350b6180474c6799fb76745132357a484588..c317feb43f69d8ce76cd1ccae55e79f361db87f7 100644 (file)
@@ -94,12 +94,14 @@ static int pm_allocate_runlist_ib(struct packet_manager *pm,
 
        pm_calc_rlib_size(pm, rl_buffer_size, is_over_subscription);
 
+       mutex_lock(&pm->lock);
+
        retval = kfd_gtt_sa_allocate(pm->dqm->dev, *rl_buffer_size,
                                        &pm->ib_buffer_obj);
 
        if (retval) {
                pr_err("Failed to allocate runlist IB\n");
-               return retval;
+               goto out;
        }
 
        *(void **)rl_buffer = pm->ib_buffer_obj->cpu_ptr;
@@ -107,6 +109,9 @@ static int pm_allocate_runlist_ib(struct packet_manager *pm,
 
        memset(*rl_buffer, 0, *rl_buffer_size);
        pm->allocated = true;
+
+out:
+       mutex_unlock(&pm->lock);
        return retval;
 }