tree d4ce108701a825812879105f40cc3c8987d79329
parent f12e77caf6c21588d6b24b5f1d8a6036f9ff9378
author Julia Lawall <julia.lawall@lip6.fr> 1419872680 +0100
committer David S. Miller <davem@davemloft.net> 1420071540 -0500

net: sun4i-emac: fix error return code

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@lip6.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
