[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250207163317.GA5869@pendragon.ideasonboard.com>
Date: Fri, 7 Feb 2025 18:33:17 +0200
From: Laurent Pinchart <laurent.pinchart@...asonboard.com>
To: Sean Anderson <sean.anderson@...ux.dev>
Cc: Tomi Valkeinen <tomi.valkeinen@...asonboard.com>,
"open list:DRM DRIVERS FOR XILINX" <dri-devel@...ts.freedesktop.org>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Michal Simek <michal.simek@....com>,
Maxime Ripard <mripard@...nel.org>,
open list <linux-kernel@...r.kernel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
Bart Van Assche <bvanassche@....org>,
Dan Carpenter <dan.carpenter@...aro.org>,
"moderated list:ARM/ZYNQ ARCHITECTURE" <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH v2 1/2] drm: zynqmp_dp: Fix a deadlock in
zynqmp_dp_ignore_hpd_set()
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@....org>
>
> 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@...ux.dev>
> Cc: Tomi Valkeinen <tomi.valkeinen@...asonboard.com>
> Fixes: 28edaacb821c ("drm: zynqmp_dp: Add debugfs interface for compliance testing")
> Signed-off-by: Bart Van Assche <bvanassche@....org>
> Reviewed-by: Sean Anderson <sean.anderson@...ux.dev>
> Signed-off-by: Sean Anderson <sean.anderson@...ux.dev>
Reviewed-by: Laurent Pinchart <laurent.pinchart@...asonboard.com>
> ---
>
> (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
Powered by blists - more mailing lists