diff -r 1a507e9ab735 -r 9fde4a17b820 master/master.c --- a/master/master.c Mon Nov 06 14:21:35 2006 +0000 +++ b/master/master.c Mon Nov 06 14:22:35 2006 +0000 @@ -203,6 +203,11 @@ kobject_put(&master->kobj); return -1; } + if (kobject_add(&master->kobj)) { + EC_ERR("Failed to add master kobj.\n"); + kobject_put(&master->kobj); + return -1; + } return 0; @@ -1271,7 +1276,7 @@ if (!(domain = (ec_domain_t *) kmalloc(sizeof(ec_domain_t), GFP_KERNEL))) { EC_ERR("Error allocating domain memory!\n"); - goto out_return; + return NULL; } if (list_empty(&master->domains)) index = 0; @@ -1282,21 +1287,12 @@ if (ec_domain_init(domain, master, index)) { EC_ERR("Failed to init domain.\n"); - goto out_return; - } - - if (kobject_add(&domain->kobj)) { - EC_ERR("Failed to add domain kobject.\n"); - goto out_put; + return NULL; } list_add_tail(&domain->list, &master->domains); + return domain; - - out_put: - kobject_put(&domain->kobj); - out_return: - return NULL; } /*****************************************************************************/