Commit cc4188b6 authored by Sudip Mukherjee's avatar Sudip Mukherjee Committed by Greg Kroah-Hartman

staging: most: return proper error

We were returning ENOMEM on all types of errors. Lets return the actual
error code. At the same time remove the label which became unused as a
result of this patch.
Signed-off-by: default avatarSudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ea398547
...@@ -1854,40 +1854,52 @@ EXPORT_SYMBOL_GPL(most_resume_enqueue); ...@@ -1854,40 +1854,52 @@ EXPORT_SYMBOL_GPL(most_resume_enqueue);
static int __init most_init(void) static int __init most_init(void)
{ {
int err;
pr_info("init()\n"); pr_info("init()\n");
INIT_LIST_HEAD(&instance_list); INIT_LIST_HEAD(&instance_list);
INIT_LIST_HEAD(&aim_list); INIT_LIST_HEAD(&aim_list);
ida_init(&mdev_id); ida_init(&mdev_id);
if (bus_register(&most_bus)) { err = bus_register(&most_bus);
if (err) {
pr_info("Cannot register most bus\n"); pr_info("Cannot register most bus\n");
goto exit; return err;
} }
most_class = class_create(THIS_MODULE, "most"); most_class = class_create(THIS_MODULE, "most");
if (IS_ERR(most_class)) { if (IS_ERR(most_class)) {
pr_info("No udev support.\n"); pr_info("No udev support.\n");
err = PTR_ERR(most_class);
goto exit_bus; goto exit_bus;
} }
if (driver_register(&mostcore)) {
err = driver_register(&mostcore);
if (err) {
pr_info("Cannot register core driver\n"); pr_info("Cannot register core driver\n");
goto exit_class; goto exit_class;
} }
class_glue_dir = class_glue_dir =
device_create(most_class, NULL, 0, NULL, "mostcore"); device_create(most_class, NULL, 0, NULL, "mostcore");
if (IS_ERR(class_glue_dir)) if (IS_ERR(class_glue_dir)) {
err = PTR_ERR(class_glue_dir);
goto exit_driver; goto exit_driver;
}
most_aim_kset = most_aim_kset =
kset_create_and_add("aims", NULL, &class_glue_dir->kobj); kset_create_and_add("aims", NULL, &class_glue_dir->kobj);
if (!most_aim_kset) if (!most_aim_kset) {
err = -ENOMEM;
goto exit_class_container; goto exit_class_container;
}
most_inst_kset = most_inst_kset =
kset_create_and_add("devices", NULL, &class_glue_dir->kobj); kset_create_and_add("devices", NULL, &class_glue_dir->kobj);
if (!most_inst_kset) if (!most_inst_kset) {
err = -ENOMEM;
goto exit_driver_kset; goto exit_driver_kset;
}
return 0; return 0;
...@@ -1901,8 +1913,7 @@ static int __init most_init(void) ...@@ -1901,8 +1913,7 @@ static int __init most_init(void)
class_destroy(most_class); class_destroy(most_class);
exit_bus: exit_bus:
bus_unregister(&most_bus); bus_unregister(&most_bus);
exit: return err;
return -ENOMEM;
} }
static void __exit most_exit(void) static void __exit most_exit(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment