pci_get_class implicitly does a pci_dev_put on its second argument, so pci_dev_put is only needed if there is a break out of the loop. The semantic match detecting this problem is as follows: // <smpl> @@ expression dev; expression E; @@ * pci_dev_put(dev) ... when != dev = E ( * pci_get_device(...,dev) | * pci_get_device_reverse(...,dev) | * pci_get_subsys(...,dev) | * pci_get_class(...,dev) ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Cc: Thomas Winischhofer <thomas@winischhofer.net> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
|---|---|---|
| .. | ||
| 300vtbl.h | ||
| 310vtbl.h | ||
| init.c | ||
| init.h | ||
| init301.c | ||
| init301.h | ||
| initdef.h | ||
| initextlfb.c | ||
| Makefile | ||
| oem300.h | ||
| oem310.h | ||
| osdef.h | ||
| sis.h | ||
| sis_accel.c | ||
| sis_accel.h | ||
| sis_main.c | ||
| sis_main.h | ||
| vgatypes.h | ||
| vstruct.h | ||