drm: rcar-du: fix error return code
authorJulia Lawall <Julia.Lawall@lip6.fr>
Sun, 23 Nov 2014 13:11:17 +0000 (14:11 +0100)
committerSimon Horman <horms+renesas@verge.net.au>
Thu, 11 Dec 2014 01:37:06 +0000 (10:37 +0900)
Propagate the 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@lip6.fr>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit 6512f5fb0a28e26f473085b890ada519e0f37d70)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
drivers/gpu/drm/rcar-du/rcar_du_crtc.c

index e97cbb3..8b0545c 100644 (file)
@@ -585,7 +585,7 @@ int rcar_du_crtc_create(struct rcar_du_group *rgrp, unsigned int index)
 
        if (irq < 0) {
                dev_err(rcdu->dev, "no IRQ for CRTC %u\n", index);
-               return ret;
+               return irq;
        }
 
        ret = devm_request_irq(rcdu->dev, irq, rcar_du_crtc_irq, irqflags,