mirror of https://github.com/torvalds/linux.git
There should be a pci_dev_put when breaking out of a loop that iterates
over calls to pci_get_device and similar functions.
This was fixed using the following semantic patch.
// <smpl>
@@
identifier d;
type T;
expression e;
iterator for_each_pci_dev;
@@
T *d;
...
for_each_pci_dev(d)
{... when != pci_dev_put(d)
when != e = d
(
return d;
|
+ pci_dev_put(d);
? return ...;
)
...}
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Cc: Greg KH <greg@kroah.com>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
||
|---|---|---|
| .. | ||
| isapnp | ||
| pnpacpi | ||
| pnpbios | ||
| Kconfig | ||
| Makefile | ||
| base.h | ||
| card.c | ||
| core.c | ||
| driver.c | ||
| interface.c | ||
| manager.c | ||
| quirks.c | ||
| resource.c | ||
| support.c | ||
| system.c | ||