[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20130721155937.GB19774@kroah.com>
Date: Sun, 21 Jul 2013 08:59:37 -0700
From: Greg KH <gregkh@...uxfoundation.org>
To: David Graham White <dgwhite11@...il.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drivers: base: core: Removed superfluous calls to
put_device in device_destroy and to kobject deletion functions in
device_del.
On Sun, Jul 21, 2013 at 11:34:59AM -0400, David Graham White wrote:
> When device_destroy is called and the device's embedded kobject may be removed,
> this would occur with the call to put_device in device_unregister. Further,
> put_device should take care of cleaning up the kobject without the need to
> call kobject_del indepenedently in device_del.
>
> Signed-off-by: David Graham White <dgwhite11@...il.com>
> ---
> drivers/base/core.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/base/core.c b/drivers/base/core.c
> index 8856d74..d6494ee 100644
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -1292,9 +1292,7 @@ void device_del(struct device *dev)
> */
> if (platform_notify_remove)
> platform_notify_remove(dev);
> - kobject_uevent(&dev->kobj, KOBJ_REMOVE);
> cleanup_device_parent(dev);
> - kobject_del(&dev->kobj);
> put_device(parent);
> }
>
> @@ -1849,10 +1847,8 @@ void device_destroy(struct class *class, dev_t devt)
> struct device *dev;
>
> dev = class_find_device(class, NULL, &devt, __match_devt);
> - if (dev) {
> - put_device(dev);
> + if (dev)
> device_unregister(dev);
> - }
> }
> EXPORT_SYMBOL_GPL(device_destroy);
Are you sure about this. It seems that every few years someone tries to
make this type of "fix" to the driver code, only to find out that this
really was needed.
Have you tested this to ensure that things get cleaned up properly?
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists