Re: watchdog-mm git tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>Author: Jiri Slaby <[email protected]>
>Date: Tue Aug 16 14:35:42 2005 -0700
>
>[WATCHDOG] removes pci_find_device from i6300esb.c
>
>This patch changes
>pci_find_device to pci_get_device (encapsulated in for_each_pci_dev) in
>i6300esb watchdog card with appropriate adding pci_dev_put. Generated in
>2.6.13-rc5-mm1 kernel version.
This is bad. One pci_dev_put was misused (there was one case without putting
the device).
Thanks to Naveen Gupta.

Generated in 2.6.13-rc5-mm1 kernel version.

Signed-off-by: Jiri Slaby <[email protected]>

i6300esb.c |    6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/char/watchdog/i6300esb.c b/drivers/char/watchdog/i6300esb.c
--- 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)) {
@@ -432,6 +431,7 @@ err_disable:
 		pci_disable_device(esb_pci);
 	}
 out:
+	pci_dev_put(esb_pci);
 	return 0;
 }
 
@@ -481,6 +481,7 @@ err_unmap:
 	pci_release_region(esb_pci, 0);
 /* err_disable: */
 	pci_disable_device(esb_pci);
+	pci_dev_put(esb_pci);
 /* out: */
         return ret;
 }
@@ -497,6 +498,7 @@ static void __exit watchdog_cleanup (voi
 	iounmap(BASEADDR);
 	pci_release_region(esb_pci, 0);
 	pci_disable_device(esb_pci);
+	pci_dev_put(esb_pci);
 }
 
 module_init(watchdog_init);
-
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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux