Julia Lawall 83d0571073 PCI: hotplug: ensure a consistent return value in error case
Typically, the return value desired for the failure of a function with an
integer return value is a negative integer.  In these cases, the return
value is sometimes a negative integer and sometimes 0, due to a subsequent
initialization of the return variable within the loop.

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

//<smpl>
@r exists@
identifier ret;
position p;
constant C;
expression e1,e3,e4;
statement S;
@@

ret = -C
... when != ret = e3
    when any
if@p (...) S
... when any
if (\(ret != 0\|ret < 0\|ret > 0\) || ...) { ... return ...; }
... when != ret = e3
    when any
*if@p (...)
{
  ... when != ret = e4
  return ret;
}
//</smpl>

[bhelgaas: squashed into one patch]
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2012-07-16 09:25:56 -06:00
..
2012-05-26 12:22:27 -07:00
2012-05-26 12:42:29 -07:00
2012-05-24 16:22:53 -04:00
2012-05-31 08:46:50 +02:00
2012-05-26 13:05:55 -07:00
2012-05-26 12:42:29 -07:00
2012-05-23 14:07:06 -07:00
2012-05-22 16:02:13 -07:00
2012-05-22 16:02:13 -07:00
2012-05-14 13:37:45 -07:00
2012-05-29 16:22:32 -07:00
2012-06-06 09:49:28 -07:00
2012-05-26 12:42:29 -07:00
2012-05-29 11:53:11 -07:00
2012-06-07 15:22:21 +03:00
2012-05-22 16:02:13 -07:00
2012-05-29 11:53:11 -07:00
2012-05-30 08:49:28 -07:00
2012-05-31 12:02:41 -07:00
2012-05-26 13:05:55 -07:00
2012-05-16 12:46:37 -04:00
2012-05-26 12:42:29 -07:00
2012-06-01 16:57:51 -07:00
2012-05-26 12:42:29 -07:00
2012-05-22 16:34:21 -07:00
2012-05-26 12:22:27 -07:00