On Mon, Jun 03, 2019 at 02:59:27PM -0500, Corey Minyard wrote: > On Mon, Jun 03, 2019 at 09:09:21PM +0200, Greg KH wrote: > > On Mon, Jun 03, 2019 at 04:49:28PM +0100, Suzuki K Poulose wrote: > > > Drop the reference to a device found via bus_find_device() > > > > > > Cc: Corey Minyard <miny...@acm.org> > > > Cc: Arnd Bergmann <a...@arndb.de> > > > Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org> > > > Signed-off-by: Suzuki K Poulose <suzuki.poul...@arm.com> > > > --- > > > drivers/char/ipmi/ipmi_si_platform.c | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/drivers/char/ipmi/ipmi_si_platform.c > > > b/drivers/char/ipmi/ipmi_si_platform.c > > > index f2a91c4..ff82353 100644 > > > --- a/drivers/char/ipmi/ipmi_si_platform.c > > > +++ b/drivers/char/ipmi/ipmi_si_platform.c > > > @@ -442,6 +442,7 @@ void ipmi_remove_platform_device_by_name(char *name) > > > pdev_match_name))) { > > > struct platform_device *pdev = to_platform_device(dev); > > > > > > + put_device(dev); > > > platform_device_unregister(pdev); > > > > So you drop the reference, and then actually use the pointer? > > I did think about this, and in this case you can, I think. > platform_device_unregister() does a put_device() at the end of it's > processing, right?
Yes, but that is the reference of the counter that was originally initialized, not the reference that was just grabbed here. It's really all the same :) > But it is better style to do it the other way, so I can change it. Please do, thanks. greg k-h