Andrew Morton napsal(a):

Jiri Slaby <[EMAIL PROTECTED]> wrote:
--- a/drivers/char/watchdog/i6300esb.c
+++ b/drivers/char/watchdog/i6300esb.c
@@ -368,12 +368,11 @@ static unsigned char __init esb_getdevic
          *      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_id(esb_pci_tbl, dev)) {
                         esb_pci = dev;
                         break;
                 }
-        }
if (esb_pci) {
                if (pci_enable_device(esb_pci)) {
@@ -430,6 +429,7 @@ err_release:
                pci_release_region(esb_pci, 0);
 err_disable:
                pci_disable_device(esb_pci);
+               pci_dev_put(esb_pci);

That doesn't look right.  Each iteration of for_each_pci_dev() needs a
pci_dev_put(), not just the final one.
But pci_get_device do it for us on pci_get_subsys, line 249, doesn't it?

--
Jiri Slaby         www.fi.muni.cz/~xslaby
~\-/~      [EMAIL PROTECTED]      ~\-/~
241B347EC88228DE51EE A49C4A73A25004CB2A10

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to