It should be >= instead of > or we go beyond the end of the
interrupt_status_offsets[] array.  Also I changed it to use
ARRAY_SIZE().

Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>

diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c 
b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
index 9e8b9f1..0f70dc9 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
@@ -3397,7 +3397,7 @@ static int dce_v8_0_hpd_irq(struct amdgpu_device *adev,
        uint32_t disp_int, mask, int_control, tmp;
        unsigned hpd;

-       if (entry->src_data > 6) {
+       if (entry->src_data >= ARRAY_SIZE(interrupt_status_offsets)) {
                DRM_DEBUG("Unhandled interrupt: %d %d\n", entry->src_id, 
entry->src_data);
                return 0;
        }

Reply via email to