Re: [PATCH 19/38] net: atm: add missing put_device call

David Miller
2013-12-27T17:40:24Z

From: Levente Kurusa <levex@linux.com>
Date: Thu, 19 Dec 2013 16:03:30 +0100

> This is required so that we give up the last reference to the device.
>
> Signed-off-by: Levente Kurusa <levex@linux.com>
...
> @@ -154,8 +154,10 @@ int atm_register_sysfs(struct atm_dev *adev, struct device *parent)
>
> dev_set_name(cdev, "%s%d", adev->type, adev->number);
> err = device_register(cdev);
> - if (err < 0)
> + if (err < 0) {
> + put_device(cdev);
> return err;
> + }

This doesn't make any sense.

Nothing has a reference to 'cdev'. Yes, 'adev' has a reference,
acquired by the caller of this function, but that's not what we're
working with here.