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

Reply via email to