mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 16:46:15 -04:00
greybus: module: free resources properly on failures
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Alex Elder <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
This commit is contained in:
parent
132d03ea89
commit
0a68a16b91
1 changed files with 5 additions and 4 deletions
|
|
@ -85,10 +85,6 @@ struct gb_module *gb_module_create(struct greybus_host_device *hd, u8 module_id)
|
|||
gmod->module_id = module_id;
|
||||
INIT_LIST_HEAD(&gmod->interfaces);
|
||||
|
||||
spin_lock_irq(&gb_modules_lock);
|
||||
list_add_tail(&gmod->links, &hd->modules);
|
||||
spin_unlock_irq(&gb_modules_lock);
|
||||
|
||||
gmod->dev.parent = hd->parent;
|
||||
gmod->dev.bus = &greybus_bus_type;
|
||||
gmod->dev.type = &greybus_module_type;
|
||||
|
|
@ -102,9 +98,14 @@ struct gb_module *gb_module_create(struct greybus_host_device *hd, u8 module_id)
|
|||
pr_err("failed to add module device for id 0x%02hhx\n",
|
||||
module_id);
|
||||
put_device(&gmod->dev);
|
||||
kfree(gmod);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
spin_lock_irq(&gb_modules_lock);
|
||||
list_add_tail(&gmod->links, &hd->modules);
|
||||
spin_unlock_irq(&gb_modules_lock);
|
||||
|
||||
return gmod;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue