*      Find the PCI device
          */
 
-        while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) {
+        for_each_pci_dev(dev)
                 if (pci_match_device(esb_pci_tbl, dev)) {
                         esb_pci = dev;
                         break;
                 }
-        }
 
         if (esb_pci) {
                if (pci_enable_device(esb_pci)) {
                pci_release_region(esb_pci, 0);
 err_disable:
                pci_disable_device(esb_pci);
+               pci_dev_put(esb_pci);
        }
 out:
        return 0;
        pci_release_region(esb_pci, 0);
 /* err_disable: */
        pci_disable_device(esb_pci);
+       pci_dev_put(esb_pci);
 /* out: */
         return ret;
 }
        iounmap(BASEADDR);
        pci_release_region(esb_pci, 0);
        pci_disable_device(esb_pci);
+       pci_dev_put(esb_pci);
 }
 
 module_init(watchdog_init);