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@xxxxxxxxx> > --- > 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