Re: [PATCH v2 1/2] drm: zynqmp_dp: Fix a deadlock in zynqmp_dp_ignore_hpd_set()
From: Laurent Pinchart
Date: Fri Feb 07 2025 - 11:33:33 EST
Hi Sean, Bart,
Thank you for the patch.
On Fri, Feb 07, 2025 at 11:25:27AM -0500, Sean Anderson wrote:
> From: Bart Van Assche <bvanassche@xxxxxxx>
>
> Instead of attempting the same mutex twice, lock and unlock it.
>
> This bug has been detected by the Clang thread-safety analyzer.
>
> Cc: Sean Anderson <sean.anderson@xxxxxxxxx>
> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
> Fixes: 28edaacb821c ("drm: zynqmp_dp: Add debugfs interface for compliance testing")
> Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx>
> Reviewed-by: Sean Anderson <sean.anderson@xxxxxxxxx>
> Signed-off-by: Sean Anderson <sean.anderson@xxxxxxxxx>
Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> ---
>
> (no changes since v1)
>
> drivers/gpu/drm/xlnx/zynqmp_dp.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c
> index 979f6d3239ba..189a08cdc73c 100644
> --- a/drivers/gpu/drm/xlnx/zynqmp_dp.c
> +++ b/drivers/gpu/drm/xlnx/zynqmp_dp.c
> @@ -2295,7 +2295,7 @@ static int zynqmp_dp_ignore_hpd_set(void *data, u64 val)
>
> mutex_lock(&dp->lock);
> dp->ignore_hpd = val;
> - mutex_lock(&dp->lock);
> + mutex_unlock(&dp->lock);
> return 0;
> }
>
--
Regards,
Laurent Pinchart