]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/amd/display: Correctly cancel future watchdog and callback events
authorBhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Mon, 30 Mar 2020 17:37:07 +0000 (13:37 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 31 Mar 2020 16:44:29 +0000 (12:44 -0400)
[Why]
-We need to cancel future callbacks/watchdogs events when a callback/watchdog event happens

[How]
-fix typo in event_callback()
-cancel callback, not watchdog
-cancel watchdog events in event_watchdog_timer().

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c

index 41fd1f5acff47d6abc8b6eb3880e00f116990050..39804d2df9df514fc2260d13ce3be2a856e906db 100644 (file)
@@ -266,7 +266,7 @@ static void event_callback(struct work_struct *work)
 
        mutex_lock(&hdcp_work->mutex);
 
-       cancel_delayed_work(&hdcp_work->watchdog_timer_dwork);
+       cancel_delayed_work(&hdcp_work->callback_dwork);
 
        mod_hdcp_process_event(&hdcp_work->hdcp, MOD_HDCP_EVENT_CALLBACK,
                               &hdcp_work->output);
@@ -347,6 +347,8 @@ static void event_watchdog_timer(struct work_struct *work)
 
        mutex_lock(&hdcp_work->mutex);
 
+       cancel_delayed_work(&hdcp_work->watchdog_timer_dwork);
+
        mod_hdcp_process_event(&hdcp_work->hdcp,
                               MOD_HDCP_EVENT_WATCHDOG_TIMEOUT,
                               &hdcp_work->output);