Commit bfdcbfd2 authored by Ben Goz's avatar Ben Goz Committed by Oded Gabbay

drm/amdkfd: Locking PM mutex while allocating IB buffer

Signed-off-by: default avatarBen Goz <ben.goz@amd.com>
Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
parent ccb76b14
...@@ -94,12 +94,14 @@ static int pm_allocate_runlist_ib(struct packet_manager *pm, ...@@ -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); 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, retval = kfd_gtt_sa_allocate(pm->dqm->dev, *rl_buffer_size,
&pm->ib_buffer_obj); &pm->ib_buffer_obj);
if (retval) { if (retval) {
pr_err("Failed to allocate runlist IB\n"); pr_err("Failed to allocate runlist IB\n");
return retval; goto out;
} }
*(void **)rl_buffer = pm->ib_buffer_obj->cpu_ptr; *(void **)rl_buffer = pm->ib_buffer_obj->cpu_ptr;
...@@ -107,6 +109,9 @@ static int pm_allocate_runlist_ib(struct packet_manager *pm, ...@@ -107,6 +109,9 @@ static int pm_allocate_runlist_ib(struct packet_manager *pm,
memset(*rl_buffer, 0, *rl_buffer_size); memset(*rl_buffer, 0, *rl_buffer_size);
pm->allocated = true; pm->allocated = true;
out:
mutex_unlock(&pm->lock);
return retval; return retval;
} }
......
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