Messages in this thread | | | Date | Mon, 8 Aug 2011 11:04:00 -0700 | From | Greg KH <> | Subject | Re: [PATCH 5/8] staging: vme: add functions for bridge module refcounting |
| |
On Mon, Aug 08, 2011 at 01:22:16PM -0400, Emilio G. Cota wrote: > On Mon, Aug 08, 2011 at 12:06:37 +0100, Martyn Welch wrote: > > On 08/08/11 11:11, Emilio G. Cota wrote: > > > On Mon, Aug 08, 2011 at 10:26:50 +0100, Martyn Welch wrote: > > >> On 08/08/11 10:14, Emilio G. Cota wrote: > > >>> Martyn, no one in the kernel is doing what you propose, for > > >>> good reason. Look at USB, PCI, RapidIO. They all provide get > > >>> and put functions to be called from probe and release. > > >> > > >> Really, which functions are these for PCI? > > > > > > pci_get_dev/put in drivers/pci/pci-driver.c. > > > > > > > Which isn't explicitly used by the vast majority of PCI drivers. In fact the > > instances which I did find where this was used by a PCI device driver, it > > appears to be using the old-style PCI probing. > > > This is taken care of automatically for drivers using the "newer" PCI driver > > registration model as part of the probe.
All PCI drivers are using that model, it is not "new" at all (5+ years old now.)
The fact is, if you grab a pointer to a device, and save it somewhere, you HAVE TO grab a reference to that object at the same time.
To not do so is a bug, and must be fixed.
It's that simple.
greg k-h
| |