[PATCH] drm/amd/pm: Fix a bug in semaphore double-lock

Alex Deucher alexdeucher at gmail.com
Wed Jul 28 17:49:55 UTC 2021


On Wed, Jul 28, 2021 at 11:18 AM Luben Tuikov <luben.tuikov at amd.com> wrote:
>
> 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 at amd.com>
> Cc: Changfeng Zhu <Changfeng.Zhu at amd.com>
> Cc: Huang Rui <ray.huang at amd.com>
> Fixes: e070ba49f3a764 ("drm/amd/pm: Fix a bug communicating with the SMU (v5)")

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

> ---
>  drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c | 2 --
>  1 file changed, 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 a0e2111eb7838c..415be74df28c7f 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;
>  }
>
> --
> 2.32.0
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list