Commit 7b184b00 authored by wentalou's avatar wentalou Committed by Alex Deucher
Browse files

drm/amdgpu: kfd_pre_reset outside req_full_gpu cause sriov hang



XGMI hive put kfd_pre_reset into amdgpu_device_lock_adev,
but outside req_full_gpu of sriov.
It would make sriov hang during reset.

Signed-off-by: default avatarWentao Lou <Wentao.Lou@amd.com>
Reviewed-by: default avatarShaoyun Liu <Shaoyun.Liu@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 2a3c83f5
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -3476,13 +3476,15 @@ static void amdgpu_device_lock_adev(struct amdgpu_device *adev)
	mutex_lock(&adev->lock_reset);
	atomic_inc(&adev->gpu_reset_counter);
	adev->in_gpu_reset = 1;
	/* Block kfd */
	/* Block kfd: SRIOV would do it separately */
	if (!amdgpu_sriov_vf(adev))
                amdgpu_amdkfd_pre_reset(adev);
}

static void amdgpu_device_unlock_adev(struct amdgpu_device *adev)
{
	/*unlock kfd */
	/*unlock kfd: SRIOV would do it separately */
	if (!amdgpu_sriov_vf(adev))
                amdgpu_amdkfd_post_reset(adev);
	amdgpu_vf_error_trans_all(adev);
	adev->in_gpu_reset = 0;