@@ -223,7 +223,7 @@ int __init ccid_initialize_builtins(void
err = tfrc_sp_lib_init();
if (err)
- return err;
+ goto unwind_tfrc_lib;
for (i = 0; i < ARRAY_SIZE(ccids); i++) {
err = ccid_activate(ccids[i]);
@@ -235,8 +235,10 @@ int __init ccid_initialize_builtins(void
unwind_registrations:
while(--i >= 0)
ccid_deactivate(ccids[i]);
- tfrc_lib_exit();
+
tfrc_sp_lib_exit();
+unwind_tfrc_lib:
+ tfrc_lib_exit();
return err;
}
@@ -246,6 +248,6 @@ void ccid_cleanup_builtins(void)
for (i = 0; i < ARRAY_SIZE(ccids); i++)
ccid_deactivate(ccids[i]);
- tfrc_lib_exit();
tfrc_sp_lib_exit();
+ tfrc_lib_exit();
}