diff options
author | Arvind Yadav | 2018-03-11 11:25:51 +0530 |
---|---|---|
committer | Greg Kroah-Hartman | 2018-03-15 14:37:04 +0100 |
commit | 3aaba245dfa33270a464d3098b8cce2a2af32784 (patch) | |
tree | dcf05f25ddb8adc6bc7f411fb687497038cf3832 /drivers/base | |
parent | c1cc0d51140fbcbb3c8cb08ee7e92020dda9c1af (diff) |
driver core: cpu: 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>
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/cpu.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c index d21a2d913107..2da998baa75c 100644 --- a/drivers/base/cpu.c +++ b/drivers/base/cpu.c @@ -382,8 +382,10 @@ int register_cpu(struct cpu *cpu, int num) if (cpu->hotpluggable) cpu->dev.groups = hotplugable_cpu_attr_groups; error = device_register(&cpu->dev); - if (error) + if (error) { + put_device(&cpu->dev); return error; + } per_cpu(cpu_sys_devices, num) = &cpu->dev; register_cpu_under_node(num, cpu_to_node(num)); |