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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel