diff options
author | Arvind Yadav <arvind.yadav.cs@gmail.com> | 2018-03-11 00:55:50 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-03-15 09:37:04 -0400 |
commit | c1cc0d51140fbcbb3c8cb08ee7e92020dda9c1af (patch) | |
tree | 29cf3bc2e24fc505ff4daf2331412df30d433db7 | |
parent | c8ae1674cd0d688661a8b85b8b2d940516933322 (diff) |
driver core: node: use put_device() if device_register fail
if device_register() returned an error! Always use put_device()
to give up the reference initialized.
Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/base/node.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/base/node.c b/drivers/base/node.c index ee090ab9171c..c5f81fc621ac 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c | |||
@@ -315,7 +315,9 @@ static int register_node(struct node *node, int num) | |||
315 | node->dev.groups = node_dev_groups; | 315 | node->dev.groups = node_dev_groups; |
316 | error = device_register(&node->dev); | 316 | error = device_register(&node->dev); |
317 | 317 | ||
318 | if (!error){ | 318 | if (error) |
319 | put_device(&node->dev); | ||
320 | else { | ||
319 | hugetlb_register_node(node); | 321 | hugetlb_register_node(node); |
320 | 322 | ||
321 | compaction_register_node(node); | 323 | compaction_register_node(node); |