diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.c index 61017fea5cb3..9f1500a5b854 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.c @@ -3194,8 +3194,10 @@ void hdmi_frl_status_polling_work(struct work_struct *work) if (dc_link->frl_link_settings.frl_link_rate == 0) continue; - link_update = - dc_link_frl_poll_status_flag(dc_link); + if (!dc_link->link_status.link_active) + continue; + + link_update = dc_link_frl_poll_status_flag(dc_link); if (link_update) { link_detected = dc_link_detect( diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c b/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c index c539ad4e3f9a..576d84be2363 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c @@ -8747,6 +8747,7 @@ static struct dc_link *dm_test_frl_add_hdmi_link(struct kunit *test, struct dm_t KUNIT_ASSERT_NOT_NULL(test, link->local_sink); link->connector_signal = SIGNAL_TYPE_HDMI_TYPE_A; link->frl_link_settings.frl_link_rate = HDMI_FRL_LINK_RATE_3GBPS; + link->link_status.link_active = true; return link; }