diff options
author | Luben Tuikov <luben.tuikov@amd.com> | 2021-07-28 11:07:03 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2021-07-28 22:15:44 -0400 |
commit | 544dcd74b7093ad4befac99b11d90331aa73348e (patch) | |
tree | 96900ef5f94d411dda6dcf00809a9a967e0bd613 /drivers/gpu | |
parent | b8e42844b48d441589eb18ade29dee29bbd78657 (diff) | |
download | linux-544dcd74b7093ad4befac99b11d90331aa73348e.tar.bz2 |
drm/amd/pm: Fix a bug in semaphore double-lock
Fix a bug in smu_cmn_send_msg_without_waiting() in
that this function does not need to take the
smu->message_lock mutex in order to send a message
down to the SMU. The mutex is acquired by the
caller of this function instead.
Cc: Alex Deucher <Alexander.Deucher@amd.com>
Cc: Changfeng Zhu <Changfeng.Zhu@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Fixes: 5810323ba69289 ("drm/amd/pm: Fix a bug communicating with the SMU (v5)")
Signed-off-by: Luben Tuikov <luben.tuikov@amd.com>
Reviewed-by: Alex Deucher <Alexander.Deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c b/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c index a0e2111eb783..415be74df28c 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c @@ -259,7 +259,6 @@ int smu_cmn_send_msg_without_waiting(struct smu_context *smu, if (smu->adev->no_hw_access) return 0; - mutex_lock(&smu->message_lock); reg = __smu_cmn_poll_stat(smu); res = __smu_cmn_reg2errno(smu, reg); if (reg == SMU_RESP_NONE || @@ -269,7 +268,6 @@ int smu_cmn_send_msg_without_waiting(struct smu_context *smu, __smu_cmn_send_msg(smu, msg_index, param); res = 0; Out: - mutex_unlock(&smu->message_lock); return res; } |