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

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
Loading
Loading
Loading
Loading
+19 −8
Original line number Diff line number Diff line
@@ -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)