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