From cc4188b6bb44a68c49af981ef5ec410d66d5c84d Mon Sep 17 00:00:00 2001 From: Sudip Mukherjee Date: Mon, 8 Feb 2016 23:26:46 +0530 Subject: [PATCH] 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: Sudip Mukherjee Signed-off-by: Greg Kroah-Hartman --- drivers/staging/most/mostcore/core.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/drivers/staging/most/mostcore/core.c b/drivers/staging/most/mostcore/core.c index ab4c32d..322ee01 100644 --- a/drivers/staging/most/mostcore/core.c +++ b/drivers/staging/most/mostcore/core.c @@ -1854,40 +1854,52 @@ EXPORT_SYMBOL_GPL(most_resume_enqueue); static int __init most_init(void) { + int err; + pr_info("init()\n"); INIT_LIST_HEAD(&instance_list); INIT_LIST_HEAD(&aim_list); ida_init(&mdev_id); - if (bus_register(&most_bus)) { + err = bus_register(&most_bus); + if (err) { pr_info("Cannot register most bus\n"); - goto exit; + return err; } most_class = class_create(THIS_MODULE, "most"); if (IS_ERR(most_class)) { pr_info("No udev support.\n"); + err = PTR_ERR(most_class); goto exit_bus; } - if (driver_register(&mostcore)) { + + err = driver_register(&mostcore); + if (err) { pr_info("Cannot register core driver\n"); goto exit_class; } class_glue_dir = 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; + } most_aim_kset = kset_create_and_add("aims", NULL, &class_glue_dir->kobj); - if (!most_aim_kset) + if (!most_aim_kset) { + err = -ENOMEM; goto exit_class_container; + } most_inst_kset = kset_create_and_add("devices", NULL, &class_glue_dir->kobj); - if (!most_inst_kset) + if (!most_inst_kset) { + err = -ENOMEM; goto exit_driver_kset; + } return 0; @@ -1901,8 +1913,7 @@ exit_class: class_destroy(most_class); exit_bus: bus_unregister(&most_bus); -exit: - return -ENOMEM; + return err; } static void __exit most_exit(void) -- 2.7.4