avr32: fix error return code
authorJulia Lawall <Julia.Lawall@lip6.fr>
Thu, 7 Aug 2014 12:49:05 +0000 (14:49 +0200)
committerHans-Christian Egtvedt <egtvedt@samfundet.no>
Thu, 7 Aug 2014 13:28:35 +0000 (15:28 +0200)
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.

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>
Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
arch/avr32/boards/hammerhead/flash.c

index 776c3cb9b6e410cfd7299149d49e667b8cb5f2b6..e86280ccd8fab57493e07414428302b48189f16b 100644 (file)
@@ -190,14 +190,19 @@ static int __init hammerhead_usbh_init(void)
 
        /* setup gclk0 to run from osc1 */
        gclk = clk_get(NULL, "gclk0");
-       if (IS_ERR(gclk))
+       if (IS_ERR(gclk)) {
+               ret = PTR_ERR(gclk);
                goto err_gclk;
+       }
 
        osc = clk_get(NULL, "osc1");
-       if (IS_ERR(osc))
+       if (IS_ERR(osc)) {
+               ret = PTR_ERR(osc);
                goto err_osc;
+       }
 
-       if (clk_set_parent(gclk, osc)) {
+       ret = clk_set_parent(gclk, osc);
+       if (ret < 0) {
                pr_debug("hammerhead: failed to set osc1 for USBH clock\n");
                goto err_set_clk;
        }
This page took 0.026572 seconds and 5 git commands to generate.