OSDN Git Service

drm/amdgpu: Fix an error code in kfd_mem_attach_dmabuf()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 25 May 2021 12:47:38 +0000 (15:47 +0300)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 26 May 2021 03:45:37 +0000 (23:45 -0400)
If amdgpu_gem_prime_export() fails, then this code accidentally
returns zero/success instead of a negative error code.

Fixes: 5ac3c3e45fb93d ("drm/amdgpu: Add DMA mapping of GTT BOs")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c

index 71ad9ba..141cd29 100644 (file)
@@ -639,14 +639,16 @@ kfd_mem_attach_dmabuf(struct amdgpu_device *adev, struct kgd_mem *mem,
                      struct amdgpu_bo **bo)
 {
        struct drm_gem_object *gobj;
+       int ret;
 
        if (!mem->dmabuf) {
                mem->dmabuf = amdgpu_gem_prime_export(&mem->bo->tbo.base,
                        mem->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_WRITABLE ?
                                DRM_RDWR : 0);
                if (IS_ERR(mem->dmabuf)) {
+                       ret = PTR_ERR(mem->dmabuf);
                        mem->dmabuf = NULL;
-                       return PTR_ERR(mem->dmabuf);
+                       return ret;
                }
        }