Re: [PATCH 30/38] vlynq: add missing put_device call

Florian Fainelli
2013-12-19T17:37:47Z

2013/12/19 Levente Kurusa <levex@linux.com>:
> This is required so that we give up the last reference to the device.
> This will result in vlynq_device_release being called making the kfree()
> in the errorpath unneccessary.
>
> Signed-off-by: Levente Kurusa <levex@linux.com>

Acked-by: Florian Fainelli <florian@openwrt.org>

> ---
> drivers/vlynq/vlynq.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/vlynq/vlynq.c b/drivers/vlynq/vlynq.c
> index 7b07135..71d5905 100644
> --- a/drivers/vlynq/vlynq.c
> +++ b/drivers/vlynq/vlynq.c
> @@ -748,11 +748,14 @@ static int vlynq_probe(struct platform_device *pdev)
> return 0;
>
> fail_register:
> + put_device(&dev->dev);
> + dev->dev = 0;
> iounmap(dev->local);
> fail_remap:
> fail_request:
> release_mem_region(regs_res->start, len);
> - kfree(dev);
> + if(dev)
> + kfree(dev);

This probably now generates a checkpatch warning since it is safe to
call kfree() on a NULL pointer.

> return result;
> }
>
> --
> 1.8.3.1

--
Florian