aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArvind Yadav <arvind.yadav.cs@gmail.com>2018-03-11 00:55:50 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-03-15 09:37:04 -0400
commitc1cc0d51140fbcbb3c8cb08ee7e92020dda9c1af (patch)
tree29cf3bc2e24fc505ff4daf2331412df30d433db7
parentc8ae1674cd0d688661a8b85b8b2d940516933322 (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.c4
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);