From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?6rmA7Iq57Jqw?= Subject: Re: [PATCH] drm/exynos: exynos_hdmi: Pass correct pointer to free_irq() Date: Tue, 21 May 2013 12:53:39 +0900 Message-ID: <519AEFC3.1080004@samsung.com> References: <1369071126-7020-1-git-send-email-lars@metafoo.de> Reply-To: sw0312.kim@samsung.com Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-reply-to: <1369071126-7020-1-git-send-email-lars@metafoo.de> Sender: linux-kernel-owner@vger.kernel.org To: Lars-Peter Clausen , Inki Dae Cc: Joonyoung Shim , Kyungmin Park , David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Seung-Woo Kim List-Id: dri-devel@lists.freedesktop.org Good point, On 2013=EB=85=84 05=EC=9B=94 21=EC=9D=BC 02:32, Lars-Peter Clausen wrot= e: > free_irq() expects the same pointer that was passed to request_thread= ed_irq(), > otherwise the IRQ is not freed. >=20 > The issue was found using the following coccinelle script: >=20 > > @r1@ > type T; > T devid; > @@ > request_threaded_irq(..., devid) >=20 > @r2@ > type r1.T; > T devid; > position p; > @@ > free_irq@p(..., devid) >=20 > @@ > position p !=3D r2.p; > @@ > *free_irq@p(...) > >=20 > Signed-off-by: Lars-Peter Clausen Acked-by: Seung-Woo Kim > --- > drivers/gpu/drm/exynos/exynos_hdmi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/e= xynos/exynos_hdmi.c > index bbfc384..7e99853 100644 > --- a/drivers/gpu/drm/exynos/exynos_hdmi.c > +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c > @@ -2082,7 +2082,7 @@ static int hdmi_remove(struct platform_device *= pdev) > =20 > pm_runtime_disable(dev); > =20 > - free_irq(hdata->irq, hdata); > + free_irq(hdata->irq, ctx); > =20 > =20 > /* hdmiphy i2c driver */ >=20 --=20 Seung-Woo Kim Samsung Software R&D Center --