Просмотр исходного кода

rfkill: Cleanup error handling in rfkill_init()

Use a separate label per error condition in rfkill_init() to make it a
bit cleaner and easier to extend.

Signed-off-by: Michał Kępień <kernel@kempniu.pl>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Michał Kępień 9 лет назад
Родитель
Сommit
6124c53ede
1 измененных файлов с 12 добавлено и 11 удалено
  1. 12 11
      net/rfkill/core.c

+ 12 - 11
net/rfkill/core.c

@@ -1263,24 +1263,25 @@ static int __init rfkill_init(void)
 
 
 	error = class_register(&rfkill_class);
 	error = class_register(&rfkill_class);
 	if (error)
 	if (error)
-		goto out;
+		goto error_class;
 
 
 	error = misc_register(&rfkill_miscdev);
 	error = misc_register(&rfkill_miscdev);
-	if (error) {
-		class_unregister(&rfkill_class);
-		goto out;
-	}
+	if (error)
+		goto error_misc;
 
 
 #ifdef CONFIG_RFKILL_INPUT
 #ifdef CONFIG_RFKILL_INPUT
 	error = rfkill_handler_init();
 	error = rfkill_handler_init();
-	if (error) {
-		misc_deregister(&rfkill_miscdev);
-		class_unregister(&rfkill_class);
-		goto out;
-	}
+	if (error)
+		goto error_input;
 #endif
 #endif
 
 
- out:
+	return 0;
+
+error_input:
+	misc_deregister(&rfkill_miscdev);
+error_misc:
+	class_unregister(&rfkill_class);
+error_class:
 	return error;
 	return error;
 }
 }
 subsys_initcall(rfkill_init);
 subsys_initcall(rfkill_init);