This reverts commit
5880b22f3e55b60c7b9326c51012b95f05416145.
The resource instance must be added to hashtable prior to the operation
driver->ops.create(resource->id). As this operation passes resource id,
it is possible that the operation work based on that resource id, which
denotes resource instance and must have been registered to hashtable.
Therefore, add_resource() must be followed by driver->ops.create().
Change-Id: I05b8a9f85741313c14201501fe6bbc4a5b8c7233
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
return -ENOMEM;
}
+ ret = add_resource(resource);
+ if (ret < 0) {
+ free_resource(resource);
+ return ret;
+ }
+
for (i = 0; i < resource->num_attrs; i++)
resource->attrs_value[i].type = driver->attrs[i].type;
*resource_id = resource->id;
- ret = add_resource(resource);
- if (ret < 0) {
- if (driver->ops.delete)
- driver->ops.delete(resource->id);
- free_resource(resource);
- return ret;
- }
-
return 0;
}