Add error handling for seqno operations.

Signed-off-by: YiPeng Chai <[email protected]>
---
 drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c | 4 +++-
 drivers/gpu/drm/amd/ras/rascore/ras_core.c       | 6 +++---
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c 
b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c
index aaf88e1cdd07..3a819c89e2fd 100644
--- a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c
+++ b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c
@@ -496,8 +496,10 @@ uint64_t amdgpu_ras_mgr_gen_ras_event_seqno(struct 
amdgpu_device *adev,
        if ((seqno_type == RAS_SEQNO_TYPE_DE) ||
            (seqno_type == RAS_SEQNO_TYPE_POISON_CONSUMPTION)) {
                ret = ras_core_put_seqno(ras_mgr->ras_core, seqno_type, seq_no);
-               if (ret)
+               if (ret) {
                        RAS_DEV_WARN(adev, "There are too many ras 
interrupts!");
+                       return 0;
+               }
        }
 
        return seq_no;
diff --git a/drivers/gpu/drm/amd/ras/rascore/ras_core.c 
b/drivers/gpu/drm/amd/ras/rascore/ras_core.c
index 29b1b8f0cc26..ad6fffaa42de 100644
--- a/drivers/gpu/drm/amd/ras/rascore/ras_core.c
+++ b/drivers/gpu/drm/amd/ras/rascore/ras_core.c
@@ -196,9 +196,9 @@ uint64_t ras_core_gen_seqno(struct ras_core_context 
*ras_core,
 {
        uint64_t seqno = 0;
 
-       if (ras_core->sys_fn &&
-               ras_core->sys_fn->gen_seqno)
-               ras_core->sys_fn->gen_seqno(ras_core, type, &seqno);
+       if (ras_core->sys_fn && ras_core->sys_fn->gen_seqno &&
+           ras_core->sys_fn->gen_seqno(ras_core, type, &seqno))
+               return 0;
 
        return seqno;
 }
-- 
2.43.0

Reply via email to