diff --git a/drivers/scsi/eata_pio.c b/drivers/scsi/eata_pio.c --- a/drivers/scsi/eata_pio.c +++ b/drivers/scsi/eata_pio.c @@ -890,7 +890,7 @@ static void find_pio_PCI(struct get_conf struct pci_dev *dev = NULL; u32 base, x; - while ((dev = pci_find_device(PCI_VENDOR_ID_DPT, PCI_DEVICE_ID_DPT, dev)) != NULL) { + while ((dev = pci_get_device(PCI_VENDOR_ID_DPT, PCI_DEVICE_ID_DPT, dev)) != NULL) { DBG(DBG_PROBE && DBG_PCI, printk("eata_pio: find_PCI, HBA at %s\n", pci_name(dev))); if (pci_enable_device(dev)) continue; @@ -901,6 +901,7 @@ static void find_pio_PCI(struct get_conf continue; } base = pci_resource_start(dev, 0); + pci_dev_put(dev); /* EISA tag there ? */ if ((inb(base) == 0x12) && (inb(base + 1) == 0x14)) continue; /* Jep, it's forced, so move on */