mmc: usdhi6rol0: fix error return code
authorJulia Lawall <Julia.Lawall@lip6.fr>
Sun, 23 Aug 2015 00:11:17 +0000 (02:11 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 27 Aug 2015 12:50:56 +0000 (14:50 +0200)
Propagate 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: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/usdhi6rol0.c

index b505cbc25aac5bdcab35063b3171f6e560e10175..4498e92116b808d2a62f6e146f33f3b41838ee33 100644 (file)
@@ -1737,8 +1737,10 @@ static int usdhi6_probe(struct platform_device *pdev)
        }
 
        host->clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(host->clk))
+       if (IS_ERR(host->clk)) {
+               ret = PTR_ERR(host->clk);
                goto e_free_mmc;
+       }
 
        host->imclk = clk_get_rate(host->clk);