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>
This commit is contained in:
parent
b8e42844b4
commit
544dcd74b7
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user