diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c --- a/drivers/char/istallion.c +++ b/drivers/char/istallion.c @@ -4602,11 +4602,12 @@ static int stli_findpcibrds(void) printk("stli_findpcibrds()\n"); #endif - while ((dev = pci_find_device(PCI_VENDOR_ID_STALLION, - PCI_DEVICE_ID_ECRA, dev))) { - if ((rc = stli_initpcibrd(BRD_ECPPCI, dev))) + while ((dev = pci_get_device(PCI_VENDOR_ID_STALLION, + PCI_DEVICE_ID_ECRA, dev))) + if ((rc = stli_initpcibrd(BRD_ECPPCI, dev))) { + pci_dev_put(dev); return(rc); - } + } return(0); }