tree 65703e668603fc428264d0fc39c32999efd9c80f
parent 623d896b361f404de5ed24e312a58646ee04207d
author Julia Lawall <Julia.Lawall@lip6.fr> 1345153618 +0000
committer David S. Miller <davem@davemloft.net> 1345455201 -0700

drivers/net/irda: fix error return code

Convert a nonnegative error return code 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)
 { ... return ret; }
 ... when != ret = e1
     when forall
*if(...)
 {
  ... when != ret = e2
* return ret;
 }
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
