Commit bea29bb0 authored by Tvrtko Ursulin's avatar Tvrtko Ursulin Committed by Alex Deucher
Browse files

drm/amdgpu/userq: Consolidate wait ioctl exit path



If we gate the fence destruction with a check telling us whether there are
valid pointers in there we can eliminate the need for dual, basically
identical, exit paths.

Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@igalia.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 2c333ea5
Loading
Loading
Loading
Loading
+5 −23
Original line number Diff line number Diff line
@@ -972,32 +972,14 @@ int amdgpu_userq_wait_ioctl(struct drm_device *dev, void *data,
			r = -EFAULT;
			goto free_fences;
		}

		kfree(fences);
		kfree(fence_info);
	}

	drm_exec_fini(&exec);
	for (i = 0; i < num_read_bo_handles; i++)
		drm_gem_object_put(gobj_read[i]);
	kfree(gobj_read);

	for (i = 0; i < num_write_bo_handles; i++)
		drm_gem_object_put(gobj_write[i]);
	kfree(gobj_write);

	kfree(timeline_points);
	kfree(timeline_handles);
	kfree(syncobj_handles);
	kfree(bo_handles_write);
	kfree(bo_handles_read);

	return 0;

free_fences:
	if (fences) {
		while (num_fences-- > 0)
			dma_fence_put(fences[num_fences]);
		kfree(fences);
	}
free_fence_info:
	kfree(fence_info);
exec_fini: