Please remove change-Id before pushing.

Acked-by: Nirmoy Das <nirmoy....@amd.com>


On 8/5/20 10:41 AM, Dennis Li wrote:
Make sure unlock the mutex when error happen

Signed-off-by: Dennis Li <dennis...@amd.com>
Change-Id: I6c36a193df5fe70516282d8136b4eadf32d20915

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
index a0ea663ecdbc..5e5369abc6fa 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
@@ -632,13 +632,14 @@ int amdgpu_amdkfd_submit_ib(struct kgd_dev *kgd, enum 
kgd_engine_type engine,
        }
ret = amdgpu_ib_schedule(ring, 1, ib, job, &f);
+
+       up_read(&adev->reset_sem);
+
        if (ret) {
                DRM_ERROR("amdgpu: failed to schedule IB.\n");
                goto err_ib_sched;
        }
- up_read(&adev->reset_sem);
-
        ret = dma_fence_wait(f, false);
err_ib_sched:
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
index 4e017f379eb6..67a756f4337b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
@@ -545,7 +545,7 @@ int amdgpu_xgmi_add_device(struct amdgpu_device *adev)
                        }
                        ret = amdgpu_xgmi_update_topology(hive, tmp_adev);
                        if (ret)
-                               goto exit;
+                               goto exit_unlock;
                }
/* get latest topology info for each device from psp */
@@ -558,7 +558,7 @@ int amdgpu_xgmi_add_device(struct amdgpu_device *adev)
                                        tmp_adev->gmc.xgmi.node_id,
                                        tmp_adev->gmc.xgmi.hive_id, ret);
                                /* To do : continue with some node failed or 
disable the whole hive */
-                               goto exit;
+                               goto exit_unlock;
                        }
                }
        }
@@ -566,7 +566,7 @@ int amdgpu_xgmi_add_device(struct amdgpu_device *adev)
        if (!ret)
                ret = amdgpu_xgmi_sysfs_add_dev_info(adev, hive);
-
+exit_unlock:
        mutex_unlock(&hive->hive_lock);
  exit:
        if (!ret)
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to