[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4418189.LvFx2qVVIh@jernej-laptop>
Date: Fri, 19 Aug 2022 06:17:19 +0200
From: Jernej Škrabec <jernej.skrabec@...il.com>
To: linux-media@...r.kernel.org, Maxime Ripard <mripard@...nel.org>,
Paul Kocialkowski <paul.kocialkowski@...tlin.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Chen-Yu Tsai <wens@...e.org>,
Samuel Holland <samuel@...lland.org>,
Nicolas Dufresne <nicolas.dufresne@...labora.com>
Cc: kernel@...labora.com,
Dmitry Osipenko <dmitry.osipenko@...labora.com>,
stable@...r.kernel.org,
Nicolas Dufresne <nicolas.dufresne@...labora.com>,
linux-staging@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org, linux-sunxi@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1 2/3] media: cedrus: Set the platform driver data earlier
Dne četrtek, 18. avgust 2022 ob 22:33:07 CEST je Nicolas Dufresne napisal(a):
> From: Dmitry Osipenko <dmitry.osipenko@...labora.com>
>
> The cedrus_hw_resume() crashes with NULL deference on driver probe if
> runtime PM is disabled because it uses platform data that hasn't been
> set up yet. Fix this by setting the platform data earlier during probe.
Does it even work without PM? Maybe it would be better if Cedrus would select
PM in Kconfig.
Best regards,
Jernej
>
> Cc: stable@...r.kernel.org
> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@...labora.com>
> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@...labora.com>
> ---
> drivers/staging/media/sunxi/cedrus/cedrus.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c
> b/drivers/staging/media/sunxi/cedrus/cedrus.c index
> 960a0130cd620..55c54dfdc585c 100644
> --- a/drivers/staging/media/sunxi/cedrus/cedrus.c
> +++ b/drivers/staging/media/sunxi/cedrus/cedrus.c
> @@ -448,6 +448,8 @@ static int cedrus_probe(struct platform_device *pdev)
> if (!dev)
> return -ENOMEM;
>
> + platform_set_drvdata(pdev, dev);
> +
> dev->vfd = cedrus_video_device;
> dev->dev = &pdev->dev;
> dev->pdev = pdev;
> @@ -521,8 +523,6 @@ static int cedrus_probe(struct platform_device *pdev)
> goto err_m2m_mc;
> }
>
> - platform_set_drvdata(pdev, dev);
> -
> return 0;
>
> err_m2m_mc:
Powered by blists - more mailing lists