> > diff --git a/arch/x86/events/intel/uncore_snbep.c
> > b/arch/x86/events/intel/uncore_snbep.c
> > index 3719af5..55a081e 100644
> > --- a/arch/x86/events/intel/uncore_snbep.c
> > +++ b/arch/x86/events/intel/uncore_snbep.c
> > +
> > +static int skx_count_chabox(void)
> > +{
> > +       struct pci_dev *chabox_dev = NULL;
> > +       int bus, count = 0;
> > +
> > +       while (1) {
> > +               chabox_dev = pci_get_device(PCI_VENDOR_ID_INTEL, 0x208d,
> chabox_dev);
> > +               if (!chabox_dev)
> > +                       break;
> > +               if (count == 0)
> > +                       bus = chabox_dev->bus->number;
> > +               if (bus != chabox_dev->bus->number)
> > +                       break;
> > +               count++;
> > +       }
> > +
> > +       pci_dev_put(chabox_dev);
> > +       return count;
> > +}
> 
> Kan,  do we not need to call pci_dev_put() each time we call pci_get_device()?

The pci_get_device will always decrease the reference count for chabox_dev, if
it is not NULL.
So I think it's OK to only pci_dev_put it at last.

Thanks,
Kan

Reply via email to