From: Mario Limonciello <mario.limoncie...@amd.com>

Scoped guards will release the mutex when they go out of scope.

Signed-off-by: Mario Limonciello <mario.limoncie...@amd.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index fa5be13f8dd75..a469b5fd43a7a 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -3750,7 +3750,7 @@ static void handle_hpd_irq_helper(struct 
amdgpu_dm_connector *aconnector)
         * In case of failure or MST no need to update connector status or 
notify the OS
         * since (for MST case) MST does this in its own context.
         */
-       mutex_lock(&aconnector->hpd_lock);
+       guard(mutex)(&aconnector->hpd_lock);
 
        if (adev->dm.hdcp_workqueue) {
                hdcp_reset_display(adev->dm.hdcp_workqueue, 
aconnector->dc_link->link_index);
@@ -3774,10 +3774,10 @@ static void handle_hpd_irq_helper(struct 
amdgpu_dm_connector *aconnector)
                if (aconnector->base.force == DRM_FORCE_UNSPECIFIED)
                        drm_kms_helper_connector_hotplug_event(connector);
        } else {
-               mutex_lock(&adev->dm.dc_lock);
-               dc_exit_ips_for_hw_access(dc);
-               ret = dc_link_detect(aconnector->dc_link, DETECT_REASON_HPD);
-               mutex_unlock(&adev->dm.dc_lock);
+               scoped_guard(mutex, &adev->dm.dc_lock) {
+                       dc_exit_ips_for_hw_access(dc);
+                       ret = dc_link_detect(aconnector->dc_link, 
DETECT_REASON_HPD);   
+               }
                if (ret) {
                        amdgpu_dm_update_connector_after_detect(aconnector);
 
@@ -3789,8 +3789,6 @@ static void handle_hpd_irq_helper(struct 
amdgpu_dm_connector *aconnector)
                                
drm_kms_helper_connector_hotplug_event(connector);
                }
        }
-       mutex_unlock(&aconnector->hpd_lock);
-
 }
 
 static void handle_hpd_irq(void *param)
-- 
2.43.0

Reply via email to