tree 650102017c079bc32f4b3100f495a5cd50e94f50
parent dea4f48a0a301b23c65af8e4fe8ccf360c272fbf
author Julia Lawall <Julia.Lawall@lip6.fr> 1388357258 +0100
committer Zhang Rui <rui.zhang@intel.com> 1388627685 +0800

thermal: exynos: fix error return code

Set the return variable to an error code as done elsewhere in the function.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
(
if@p1 (\(ret < 0\|ret != 0\))
 { ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
    when != &ret
*if(...)
{
  ... when != ret = e2
      when forall
 return ret;
}

// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Reviewed-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
