[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190531081924.GA19447@amd>
Date: Fri, 31 May 2019 10:19:24 +0200
From: Pavel Machek <pavel@...x.de>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Fabien Dessenne <fabien.dessenne@...com>,
Hugues Fruchet <hugues.fruchet@...com>,
Hans Verkuil <hverkuil-cisco@...all.nl>,
Mauro Carvalho Chehab <mchehab+samsung@...nel.org>,
Sasha Levin <sashal@...nel.org>
Subject: Re: [PATCH 4.19 070/276] media: stm32-dcmi: return appropriate error
codes during probe
Hi!
> [ Upstream commit b5b5a27bee5884860798ffd0f08e611a3942064b ]
>
> During probe, return the provided errors value instead of -ENODEV.
> This allows the driver to be deferred probed if needed.
This is not correct AFAICT.
> --- a/drivers/media/platform/stm32/stm32-dcmi.c
> +++ b/drivers/media/platform/stm32/stm32-dcmi.c
> @@ -1673,8 +1673,9 @@ static int dcmi_probe(struct platform_device *pdev)
>
> irq = platform_get_irq(pdev, 0);
> if (irq <= 0) {
> - dev_err(&pdev->dev, "Could not get irq\n");
> - return -ENODEV;
> + if (irq != -EPROBE_DEFER)
> + dev_err(&pdev->dev, "Could not get irq\n");
> + return irq;
> }
>
> dcmi->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
irq == 0 is clearly means error here, but will be interpretted as
success when returned to the caller.
As device is not initialized at that point, I'd expect some kind of
crash later.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Download attachment "signature.asc" of type "application/pgp-signature" (182 bytes)
Powered by blists - more mailing lists