From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1168670AbcKAKmG (ORCPT ); Tue, 1 Nov 2016 06:42:06 -0400 Received: from exsmtp03.microchip.com ([198.175.253.49]:39341 "EHLO email.microchip.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1168648AbcKAKmF (ORCPT ); Tue, 1 Nov 2016 06:42:05 -0400 From: Songjun Wu To: , CC: Songjun Wu Subject: [PATCH] kobject: set state_initialized to 0 in kobject_cleanup Date: Tue, 1 Nov 2016 18:41:44 +0800 Message-ID: <1477996905-16920-1-git-send-email-songjun.wu@microchip.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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