diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_dmub.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_dmub.c index 7519219db0f8..2f14614c196c 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_dmub.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_dmub.c @@ -124,12 +124,12 @@ bool dm_register_dmub_notify_callback(struct amdgpu_device *adev, dmub_notify_interrupt_callback_t callback, bool dmub_int_thread_offload) { - if (callback != NULL && type < ARRAY_SIZE(adev->dm.dmub_thread_offload)) { - adev->dm.dmub_callback[type] = callback; - adev->dm.dmub_thread_offload[type] = dmub_int_thread_offload; - } else + if (!callback || type >= ARRAY_SIZE(adev->dm.dmub_thread_offload)) return false; + adev->dm.dmub_callback[type] = callback; + adev->dm.dmub_thread_offload[type] = dmub_int_thread_offload; + return true; } EXPORT_IF_KUNIT(dm_register_dmub_notify_callback);