Memory of err_data should be cleaned before usage
when there're multiple entry in ras ih.
Otherwise garbage data from last loop will be used.

Signed-off-by: Jiawei Gu <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index 31bad1a20ed0..3f5bf5780ebf 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -1592,6 +1592,7 @@ static void amdgpu_ras_interrupt_handler(struct 
ras_manager *obj)
                                /* Let IP handle its data, maybe we need get 
the output
                                 * from the callback to udpate the error 
type/count, etc
                                 */
+                               memset(&err_data, 0, sizeof(err_data));
                                ret = data->cb(obj->adev, &err_data, &entry);
                                /* ue will trigger an interrupt, and in that 
case
                                 * we need do a reset to recovery the whole 
system.
-- 
2.17.1

Reply via email to