diff options
author | Fengguang Wu <fengguang.wu@intel.com> | 2013-10-08 21:26:21 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-10-11 19:30:10 -0400 |
commit | 1461c5be7becc6e65dba5cadb31fb5f4339609f5 (patch) | |
tree | a33659a33fb97e66e60638fb028af10900140847 /lib/kobject.c | |
parent | a6b01deda1e79259d2fe98fe68d41e4b7bad2783 (diff) |
kobject: show debug info on delayed kobject release
Useful for locating buggy drivers on kernel oops.
It may add dozens of new lines to boot dmesg. DEBUG_KOBJECT_RELEASE is
hopefully only enabled in debug kernels (like maybe the Fedora rawhide
one, or at developers), so being a bit more verbose is likely ok.
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'lib/kobject.c')
-rw-r--r-- | lib/kobject.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/kobject.c b/lib/kobject.c index 2fdf7fa9e9bd..7a1c203083eb 100644 --- a/lib/kobject.c +++ b/lib/kobject.c | |||
@@ -628,7 +628,7 @@ static void kobject_release(struct kref *kref) | |||
628 | { | 628 | { |
629 | struct kobject *kobj = container_of(kref, struct kobject, kref); | 629 | struct kobject *kobj = container_of(kref, struct kobject, kref); |
630 | #ifdef CONFIG_DEBUG_KOBJECT_RELEASE | 630 | #ifdef CONFIG_DEBUG_KOBJECT_RELEASE |
631 | pr_debug("kobject: '%s' (%p): %s, parent %p (delayed)\n", | 631 | pr_info("kobject: '%s' (%p): %s, parent %p (delayed)\n", |
632 | kobject_name(kobj), kobj, __func__, kobj->parent); | 632 | kobject_name(kobj), kobj, __func__, kobj->parent); |
633 | INIT_DELAYED_WORK(&kobj->release, kobject_delayed_cleanup); | 633 | INIT_DELAYED_WORK(&kobj->release, kobject_delayed_cleanup); |
634 | schedule_delayed_work(&kobj->release, HZ); | 634 | schedule_delayed_work(&kobj->release, HZ); |