[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2f803bfc-3ffe-332a-7b9a-d59a39db4630@ti.com>
Date: Thu, 24 May 2018 10:58:25 +0300
From: Tomi Valkeinen <tomi.valkeinen@...com>
To: Tony Lindgren <tony@...mide.com>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Aaro Koskinen <aaro.koskinen@....fi>
CC: <ivo.g.dimitrov.75@...il.com>, <abcloriens@...il.com>,
<sre@...nel.org>, <martijn@...xit.nl>,
<filip.matijevic.pz@...il.com>,
Thorsten Leemhuis <regressions@...mhuis.info>,
<clayton@...ftyguy.net>, <patrikbachan@...il.com>,
<serge@...lyn.com>, <linux-omap@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <dri-devel@...ts.freedesktop.org>
Subject: Re: omapdrm regression in v4.17-rc series
On 24/05/18 01:03, Tony Lindgren wrote:
> Hi all,
>
> I bisected the n900 LCD issue to commit 24aac6011f70 ("drm: omapdrm:
> sdi: Allocate the sdi private data structure dynamically"). Reverting
> this patch makes LCD work for me again on n900.
>
> Any ideas?
This should help to get the SDI enabled.
Tomi
>From 4e96e6c2dedf366e081331c3825ff6fa8aabd85c Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@...com>
Date: Thu, 24 May 2018 10:53:24 +0300
Subject: [PATCH] drm/omap: fix NULL deref crash with SDI displays
Fix a NULL deref bug introduced in commit 24aac6011f70 ("drm: omapdrm:
sdi: Allocate the sdi private data structure dynamically").
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@...com>
---
drivers/gpu/drm/omapdrm/dss/sdi.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c b/drivers/gpu/drm/omapdrm/dss/sdi.c
index 68a40ae26f5b..1e2c931f6acf 100644
--- a/drivers/gpu/drm/omapdrm/dss/sdi.c
+++ b/drivers/gpu/drm/omapdrm/dss/sdi.c
@@ -82,7 +82,7 @@ static int sdi_calc_clock_div(struct sdi_device *sdi, unsigned long pclk,
struct dispc_clock_info *dispc_cinfo)
{
int i;
- struct sdi_clk_calc_ctx ctx = { .sdi = sdi };
+ struct sdi_clk_calc_ctx ctx;
/*
* DSS fclk gives us very few possibilities, so finding a good pixel
@@ -95,6 +95,9 @@ static int sdi_calc_clock_div(struct sdi_device *sdi, unsigned long pclk,
bool ok;
memset(&ctx, 0, sizeof(ctx));
+
+ ctx.sdi = sdi;
+
if (pclk > 1000 * i * i * i)
ctx.pck_min = max(pclk - 1000 * i * i * i, 0lu);
else
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Powered by blists - more mailing lists