diff --git a/drivers/isdn/hisax/avm_pci.c b/drivers/isdn/hisax/avm_pci.c --- a/drivers/isdn/hisax/avm_pci.c +++ b/drivers/isdn/hisax/avm_pci.c @@ -794,16 +794,20 @@ setup_avm_pcipnp(struct IsdnCard *card) } #endif #ifdef CONFIG_PCI - if ((dev_avm = pci_find_device(PCI_VENDOR_ID_AVM, + if ((dev_avm = pci_get_device(PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_A1, dev_avm))) { - if (pci_enable_device(dev_avm)) + if (pci_enable_device(dev_avm)) { + pci_dev_put(dev_avm); return(0); + } cs->irq = dev_avm->irq; if (!cs->irq) { printk(KERN_ERR "FritzPCI: No IRQ for PCI card found\n"); + pci_dev_put(dev_avm); return(0); } cs->hw.avm.cfg_reg = pci_resource_start(dev_avm, 1); + pci_dev_put(dev_avm); if (!cs->hw.avm.cfg_reg) { printk(KERN_ERR "FritzPCI: No IO-Adr for PCI card found\n"); return(0);