|
@@ -131,7 +131,8 @@ static struct resource *register_memory_resource(u64 start, u64 size)
|
|
|
{
|
|
|
struct resource *res;
|
|
|
res = kzalloc(sizeof(struct resource), GFP_KERNEL);
|
|
|
- BUG_ON(!res);
|
|
|
+ if (!res)
|
|
|
+ return ERR_PTR(-ENOMEM);
|
|
|
|
|
|
res->name = "System RAM";
|
|
|
res->start = start;
|
|
@@ -140,7 +141,7 @@ static struct resource *register_memory_resource(u64 start, u64 size)
|
|
|
if (request_resource(&iomem_resource, res) < 0) {
|
|
|
pr_debug("System RAM resource %pR cannot be added\n", res);
|
|
|
kfree(res);
|
|
|
- res = NULL;
|
|
|
+ return ERR_PTR(-EEXIST);
|
|
|
}
|
|
|
return res;
|
|
|
}
|
|
@@ -1312,8 +1313,8 @@ int __ref add_memory(int nid, u64 start, u64 size)
|
|
|
int ret;
|
|
|
|
|
|
res = register_memory_resource(start, size);
|
|
|
- if (!res)
|
|
|
- return -EEXIST;
|
|
|
+ if (IS_ERR(res))
|
|
|
+ return PTR_ERR(res);
|
|
|
|
|
|
ret = add_memory_resource(nid, res);
|
|
|
if (ret < 0)
|