[Bluetooth] Fix reference count when connection lookup fails
[pandora-kernel.git] / lib / kobject.c
index b46350c..1699eb9 100644 (file)
@@ -205,7 +205,7 @@ int kobject_add(struct kobject * kobj)
                else
                        printk("kobject_add failed for %s (%d)\n",
                               kobject_name(kobj), error);
-               dump_stack();
+                dump_stack();
        }
 
        return error;
@@ -407,6 +407,7 @@ static struct kobj_type dir_ktype = {
 struct kobject *kobject_add_dir(struct kobject *parent, const char *name)
 {
        struct kobject *k;
+       int ret;
 
        if (!parent)
                return NULL;
@@ -418,7 +419,13 @@ struct kobject *kobject_add_dir(struct kobject *parent, const char *name)
        k->parent = parent;
        k->ktype = &dir_ktype;
        kobject_set_name(k, name);
-       kobject_register(k);
+       ret = kobject_register(k);
+       if (ret < 0) {
+               printk(KERN_WARNING "kobject_add_dir: "
+                       "kobject_register error: %d\n", ret);
+               kobject_del(k);
+               return NULL;
+       }
 
        return k;
 }