On 26/12/15 17:28, Julia Lawall wrote: > Return a negative error code on failure. > > A simplified version of the semantic match that finds this problem is as > follows: (http://coccinelle.lip6.fr/) > > // <smpl> > @@ > identifier ret; expression e1,e2; > @@ > ( > if (\(ret < 0\|ret != 0\)) > { ... return ret; } > | > ret = 0 > ) > ... when != ret = e1 > when != &ret > *if(...) > { > ... when != ret = e2 > when forall > return ret; > } > // </smpl> > > Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> > > --- > drivers/video/fbdev/omap2/omapfb/displays/encoder-tpd12s015.c | 12 +++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/video/fbdev/omap2/omapfb/displays/encoder-tpd12s015.c b/drivers/video/fbdev/omap2/omapfb/displays/encoder-tpd12s015.c > index 677e254..fc4cfa9 100644 > --- a/drivers/video/fbdev/omap2/omapfb/displays/encoder-tpd12s015.c > +++ b/drivers/video/fbdev/omap2/omapfb/displays/encoder-tpd12s015.c > @@ -241,22 +241,28 @@ static int tpd_probe(struct platform_device *pdev) > > gpio = devm_gpiod_get_index_optional(&pdev->dev, NULL, 0, > GPIOD_OUT_LOW); > - if (IS_ERR(gpio)) > + if (IS_ERR(gpio)) { > + r = PTR_ERR(gpio); > goto err_gpio; > + } > > ddata->ct_cp_hpd_gpio = gpio; > > gpio = devm_gpiod_get_index_optional(&pdev->dev, NULL, 1, > GPIOD_OUT_LOW); > - if (IS_ERR(gpio)) > + if (IS_ERR(gpio)) { > + r = PTR_ERR(gpio); > goto err_gpio; > + } > > ddata->ls_oe_gpio = gpio; > > gpio = devm_gpiod_get_index(&pdev->dev, NULL, 2, > GPIOD_IN); > - if (IS_ERR(gpio)) > + if (IS_ERR(gpio)) { > + r = PTR_ERR(gpio); > goto err_gpio; > + } > > ddata->hpd_gpio = gpio; Thanks. Looks like recent changes to the driver break the error handling. I'll just drop those patches from my for-next branch, and let the author fix the patches. Tomi
Attachment:
signature.asc
Description: OpenPGP digital signature