From: Alan Liu <[email protected]>

[why]
Observing error log about trying to disable non-implemented irq source
when user unload the driver.

[how]
Check and filter the invalid irq source before disabling it.

Reviewed-by: Qingqing (Lillian) Zhuo <[email protected]>
Acked-by: Stylon Wang <[email protected]>
Signed-off-by: Alan Liu <[email protected]>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
index 4aba0e8c84f8..19f543ba7205 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
@@ -928,7 +928,11 @@ void amdgpu_dm_hpd_fini(struct amdgpu_device *adev)
                                to_amdgpu_dm_connector(connector);
                const struct dc_link *dc_link = amdgpu_dm_connector->dc_link;
 
-               dc_interrupt_set(adev->dm.dc, dc_link->irq_source_hpd, false);
+               if (DC_IRQ_SOURCE_INVALID != dc_link->irq_source_hpd) {
+                       dc_interrupt_set(adev->dm.dc,
+                                       dc_link->irq_source_hpd,
+                                       false);
+               }
 
                if (DC_IRQ_SOURCE_INVALID != dc_link->irq_source_hpd_rx) {
                        dc_interrupt_set(adev->dm.dc,
-- 
2.35.1

Reply via email to