Messages in this thread | | | From | "Liang, Kan" <> | Subject | RE: [PATCH 3/3] perf/x86/intel/uncore: Add Skylake server uncore support | Date | Mon, 15 Aug 2016 14:12:41 +0000 |
| |
> > 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
| |