[PATCH] kobject: set state_initialized to 0 in kobject_cleanup

From: Songjun Wu
Date: Tue Nov 01 2016 - 06:42:10 EST


If state_initialized is not set to 0 when a kobject is
released, a device is registered, unregistered, and
registered again, the error below will occur.

kobject (dec04bb0): tried to init an initialized object,
something is seriously wrong.

Signed-off-by: Songjun Wu <songjun.wu@xxxxxxxxxxxxx>
---

lib/kobject.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/lib/kobject.c b/lib/kobject.c
index 445dcae..423af4e 100644
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -639,6 +639,8 @@ static void kobject_cleanup(struct kobject *kobj)
kobject_del(kobj);
}

+ kobj->state_initialized = 0;
+
if (t && t->release) {
pr_debug("kobject: '%s' (%p): calling ktype release\n",
kobject_name(kobj), kobj);
--
2.7.4