27 lines
887 B
Diff
27 lines
887 B
Diff
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
|
|
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
|
|
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
|
|
@@ -1426,7 +1426,7 @@ int amdgpu_userq_post_reset(struct amdgpu_device *adev, bool vram_lost)
|
|
struct amdgpu_usermode_queue *queue;
|
|
const struct amdgpu_userq_funcs *userq_funcs;
|
|
unsigned long queue_id;
|
|
- int r = 0;
|
|
+ int ret = 0, r;
|
|
|
|
xa_for_each(&adev->userq_doorbell_xa, queue_id, queue) {
|
|
if (queue->state == AMDGPU_USERQ_STATE_HUNG && !vram_lost) {
|
|
@@ -1435,11 +1435,12 @@ int amdgpu_userq_post_reset(struct amdgpu_device *adev, bool vram_lost)
|
|
r = userq_funcs->map(queue);
|
|
if (r) {
|
|
dev_err(adev->dev, "Failed to remap queue %ld\n", queue_id);
|
|
+ ret = r;
|
|
continue;
|
|
}
|
|
queue->state = AMDGPU_USERQ_STATE_MAPPED;
|
|
}
|
|
}
|
|
|
|
- return r;
|
|
+ return ret;
|
|
}
|