diff --git a/drivers/media/radio/radio-maestro.c b/drivers/media/radio/radio-maestro.c --- a/drivers/media/radio/radio-maestro.c +++ b/drivers/media/radio/radio-maestro.c @@ -265,11 +265,12 @@ static int __init maestro_radio_init(voi { register __u16 found=0; struct pci_dev *pcidev = NULL; - while(!found && (pcidev = pci_find_device(PCI_VENDOR_ESS, + while(!found && (pcidev = pci_get_device(PCI_VENDOR_ESS, PCI_DEVICE_ID_ESS_ESS1968, pcidev))) found |= radio_install(pcidev); - while(!found && (pcidev = pci_find_device(PCI_VENDOR_ESS, + + while(!found && (pcidev = pci_get_device(PCI_VENDOR_ESS, PCI_DEVICE_ID_ESS_ESS1978, pcidev))) found |= radio_install(pcidev); @@ -277,6 +278,7 @@ static int __init maestro_radio_init(voi printk(KERN_INFO "radio-maestro: no devices found.\n"); return -ENODEV; } + pci_dev_put(pcidev); return 0; }