From 89a86d789cff6f9d228a44056d85d4a8189ed778 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 20 Mar 2006 13:17:13 -0800 Subject: [PATCH] --- yaml --- r: 22010 b: refs/heads/master c: dcd0da002122a70fe1c625c0ca9f58c95aa33ebe h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/lib/kobject.c | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 3ae151b10730..babfad412d9d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4f2928d0a439553f0288d9483faf417430629635 +refs/heads/master: dcd0da002122a70fe1c625c0ca9f58c95aa33ebe diff --git a/trunk/lib/kobject.c b/trunk/lib/kobject.c index efe67fa96a71..36668c8c3ea1 100644 --- a/trunk/lib/kobject.c +++ b/trunk/lib/kobject.c @@ -194,6 +194,17 @@ int kobject_add(struct kobject * kobj) unlink(kobj); if (parent) kobject_put(parent); + + /* be noisy on error issues */ + if (error == -EEXIST) + printk("kobject_add failed for %s with -EEXIST, " + "don't try to register things with the " + "same name in the same directory.\n", + kobject_name(kobj)); + else + printk("kobject_add failed for %s (%d)\n", + kobject_name(kobj), error); + dump_stack(); } return error; @@ -207,18 +218,13 @@ int kobject_add(struct kobject * kobj) int kobject_register(struct kobject * kobj) { - int error = 0; + int error = -EINVAL; if (kobj) { kobject_init(kobj); error = kobject_add(kobj); - if (error) { - printk("kobject_register failed for %s (%d)\n", - kobject_name(kobj),error); - dump_stack(); - } else + if (!error) kobject_uevent(kobj, KOBJ_ADD); - } else - error = -EINVAL; + } return error; }