Re: [PATCH -mm] removes pci_find_device from i6300esb.c

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

 



On Tue, Aug 09, 2005 at 11:28:16AM +0200, Jiri Slaby wrote:
> 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.

Not true, see the documentation for pci_get_device(), it's only required
if you break out of the loop.

thanks,

greg k-h
-
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