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.
-
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