Fix if (ret) --> if (!ret), a bug, for
"retire_page", which caused the kernel to recall
the method with *pos == end of file, and that
bounced back with error. On the first run, we
advanced *pos, but returned 0 back to fs layer,
also a bug.

Fix the logic of the check of the result of
amdgpu_reserve_page_direct()--it is 0 on success,
and non-zero on error, not the other way
around. This patch fixes this bug.

Cc: Alexander Deucher <[email protected]>
Cc: John Clements <[email protected]>
Cc: Hawking Zhang <[email protected]>
Signed-off-by: Luben Tuikov <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index 9041453465f1..3ca6b51f0c9c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -114,7 +114,7 @@ static int amdgpu_reserve_page_direct(struct amdgpu_device 
*adev, uint64_t addre
 
        if (amdgpu_ras_check_bad_page(adev, address)) {
                dev_warn(adev->dev,
-                        "RAS WARN: 0x%llx has been marked as bad page!\n",
+                        "RAS WARN: 0x%llx has already been marked as bad 
page!\n",
                         address);
                return 0;
        }
@@ -228,7 +228,6 @@ static int amdgpu_ras_debugfs_ctrl_parse_data(struct file 
*f,
                return -EINVAL;
 
        if (op != -1) {
-
                if (op == 3) {
                        if (sscanf(str, "%*s %llx", &address) != 1)
                                return -EINVAL;
@@ -364,11 +363,9 @@ static ssize_t amdgpu_ras_debugfs_ctrl_write(struct file 
*f, const char __user *
        if (ret)
                return -EINVAL;
 
-       if (data.op == 3)
-       {
+       if (data.op == 3) {
                ret = amdgpu_reserve_page_direct(adev, data.inject.address);
-
-               if (ret)
+               if (!ret)
                        return size;
                else
                        return ret;
-- 
2.31.0.97.g1424303384

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to