diff options
Diffstat (limited to 'lib/kobject.c')
-rw-r--r-- | lib/kobject.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/kobject.c b/lib/kobject.c index 0d03252f87a8..60ae9e817663 100644 --- a/lib/kobject.c +++ b/lib/kobject.c | |||
@@ -592,8 +592,15 @@ static void kobject_release(struct kref *kref) | |||
592 | */ | 592 | */ |
593 | void kobject_put(struct kobject *kobj) | 593 | void kobject_put(struct kobject *kobj) |
594 | { | 594 | { |
595 | if (kobj) | 595 | if (kobj) { |
596 | if (!kobj->state_initialized) { | ||
597 | printk(KERN_WARNING "kobject: '%s' (%p): is not " | ||
598 | "initialized, yet kobject_put() is being " | ||
599 | "called.\n", kobject_name(kobj), kobj); | ||
600 | WARN_ON(1); | ||
601 | } | ||
596 | kref_put(&kobj->kref, kobject_release); | 602 | kref_put(&kobj->kref, kobject_release); |
603 | } | ||
597 | } | 604 | } |
598 | 605 | ||
599 | static void dynamic_kobj_release(struct kobject *kobj) | 606 | static void dynamic_kobj_release(struct kobject *kobj) |