Commit 94561899 authored by Dennis Li's avatar Dennis Li Committed by Alex Deucher
Browse files

drm/amdgpu: unlock mutex on error



Make sure to unlock the mutex when error happen

v2:
1. correct syntax error in the commit comments
2. remove change-Id

Acked-by: default avatarNirmoy Das <nirmoy.das@amd.com>
Reviewed-by: default avatarLuben Tuikov <luben.tuikov@amd.com>
Signed-off-by: default avatarDennis Li <Dennis.Li@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 520f5e42
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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:
+3 −3
Original line number Diff line number Diff line
@@ -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)