drm/amdgpu: Do error injection even vram reserve fails
As long as the address is mapped with vram, we can do an error injection. Signed-off-by: xinhui pan <xinhui.pan@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
21a249ca02
commit
acb05f0a3f
@ -333,12 +333,13 @@ static ssize_t amdgpu_ras_debugfs_ctrl_write(struct file *f, const char __user *
|
||||
case 2:
|
||||
ret = amdgpu_ras_reserve_vram(adev,
|
||||
data.inject.address, PAGE_SIZE, &bo);
|
||||
/* This address might be used already on failure. In fact we can
|
||||
* perform an injection in such case.
|
||||
*/
|
||||
if (ret)
|
||||
break;
|
||||
data.inject.address = amdgpu_bo_gpu_offset(bo);
|
||||
if (ret) {
|
||||
/* address was offset, now it is absolute.*/
|
||||
data.inject.address += adev->gmc.vram_start;
|
||||
if (data.inject.address > adev->gmc.vram_end)
|
||||
break;
|
||||
} else
|
||||
data.inject.address = amdgpu_bo_gpu_offset(bo);
|
||||
ret = amdgpu_ras_error_inject(adev, &data.inject);
|
||||
amdgpu_ras_release_vram(adev, &bo);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user