tree d64b3c3d6c55b62ed0d5c2c602f9a3bf257bbbd0
parent 14834540cafff24944affd6290f01359799a48ce
author Peter Senna Tschudin <peter.senna@gmail.com> 1349439050 +0000
committer David S. Miller <davem@davemloft.net> 1349635031 -0400

drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c: fix error return code

The function qlcnic_probe() return 0 for success and negative value
for most of its internal tests failures. There is one exception
that is error case going to err_out_free_netdev:. For this error case,
the function abort its success execution path, but returns non negative
value, making it difficult for a caller function to notice the error.

This patch fixes the error case that do not return negative value.

This was found by Coccinelle, but the code change was made by hand.
This patch is not robot generated.

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: Peter Senna Tschudin <peter.senna@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
