Messages in this thread | | | Date | Fri, 13 Dec 2019 01:42:16 +0200 | From | Laurent Pinchart <> | Subject | Re: [PATCH] media: omap3isp: add checks for devm_regulator_get |
| |
Hi Chuhong,
(CC'ing Sakari Ailus)
Thank you for the patch.
On Tue, Dec 10, 2019 at 05:14:28PM +0800, Chuhong Yuan wrote: > The driver misses checks for devm_regulator_get(). > Add checks to fix it. > > Signed-off-by: Chuhong Yuan <hslester96@gmail.com> > --- > drivers/media/platform/omap3isp/isp.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c > index 327c5716922a..ef3502182c3a 100644 > --- a/drivers/media/platform/omap3isp/isp.c > +++ b/drivers/media/platform/omap3isp/isp.c > @@ -2312,7 +2312,16 @@ static int isp_probe(struct platform_device *pdev) > > /* Regulators */ > isp->isp_csiphy1.vdd = devm_regulator_get(&pdev->dev, "vdd-csiphy1"); > + if (IS_ERR(isp->isp_csiphy1.vdd)) { > + ret = PTR_ERR(isp->isp_csiphy1.vdd); > + goto error; > + } > + > isp->isp_csiphy2.vdd = devm_regulator_get(&pdev->dev, "vdd-csiphy2"); > + if (IS_ERR(isp->isp_csiphy2.vdd)) { > + ret = PTR_ERR(isp->isp_csiphy2.vdd); > + goto error; > + }
Those regulators are currently checked at runtime in omap3isp_csiphy_acquire(). The check is incorrect as it checks for NULL while vdd would contain an ERR_PTR, so there's a real issue. However, not all platforms support the CSI-2 receivers, and only omap3-n950.dts and omap3-n9.dts provide the regulators. They thus need to be kept optional.
Would you like to provide another patch that fixes the checks in omap3isp_csiphy_acquire() ?
> > /* Clocks > *
-- Regards,
Laurent Pinchart
| |