net/ax25: Use available error codes
authorJulia Lawall <julia@diku.dk>
Mon, 16 Aug 2010 06:26:57 +0000 (06:26 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Aug 2010 21:26:31 +0000 (14:26 -0700)
Error codes are stored in err, but the return value is always 0.  Return
err instead.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
local idexpression x;
constant C;
@@

if (...) { ...
  x = -C
  ... when != x
(
  return <+...x...+>;
|
  return NULL;
|
  return;
|
* return ...;
)
}
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ax25/ax25_route.c

index 7805945..a169084 100644 (file)
@@ -412,7 +412,7 @@ int ax25_rt_autobind(ax25_cb *ax25, ax25_address *addr)
 {
        ax25_uid_assoc *user;
        ax25_route *ax25_rt;
-       int err;
+       int err = 0;
 
        if ((ax25_rt = ax25_get_route(addr, NULL)) == NULL)
                return -EHOSTUNREACH;
@@ -453,7 +453,7 @@ int ax25_rt_autobind(ax25_cb *ax25, ax25_address *addr)
 put:
        ax25_put_route(ax25_rt);
 
-       return 0;
+       return err;
 }
 
 struct sk_buff *ax25_rt_build_path(struct sk_buff *skb, ax25_address *src,