diff options
author | Julia Lawall <julia@diku.dk> | 2011-08-04 10:30:34 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-08-04 10:30:34 +0200 |
commit | 0302899e144296d6ce8cb3679a9a42d5c6436910 (patch) | |
tree | b6c4c8414f93f9feb4142f68ab02c7bfb1f284f6 | |
parent | ide: Fix irq flags madness (diff) | |
download | linux-0302899e144296d6ce8cb3679a9a42d5c6436910.tar.xz linux-0302899e144296d6ce8cb3679a9a42d5c6436910.zip |
drivers/ide/cy82c693.c: Add missing pci_dev_put
Pci_get_slot calls pci_dev_get, so pci_dev_put is needed before leaving the
function in the case where pci_get_slot is locally used.
The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
local idexpression x;
expression e;
@@
*x = pci_get_slot(...)
... when != true x == NULL
when != pci_dev_put(x)
when != e = x
when != if (x != NULL) {<+... pci_dev_put(x); ...+>}
*return ...;
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/ide/cy82c693.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/ide/cy82c693.c b/drivers/ide/cy82c693.c index 3be60da52123..67cbcfa35122 100644 --- a/drivers/ide/cy82c693.c +++ b/drivers/ide/cy82c693.c @@ -141,6 +141,8 @@ static void cy82c693_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive) pci_write_config_byte(dev, CY82_IDE_SLAVE_IOW, time_16); pci_write_config_byte(dev, CY82_IDE_SLAVE_8BIT, time_8); } + if (hwif->index > 0) + pci_dev_put(dev); } static void __devinit init_iops_cy82c693(ide_hwif_t *hwif) |