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 <[email protected]> > Cc: Arnd Bergmann <[email protected]> > Cc: Greg Kroah-Hartman <[email protected]> > Signed-off-by: Suzuki K Poulose <[email protected]> > --- > 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? The drop needs to be _after_ the call to platform_device_unregister(). thanks, greg k-h

