|
@@ -293,15 +293,22 @@ static int __init dsa_init_module(void)
|
|
|
|
|
|
|
|
rc = dsa_slave_register_notifier();
|
|
rc = dsa_slave_register_notifier();
|
|
|
if (rc)
|
|
if (rc)
|
|
|
- return rc;
|
|
|
|
|
|
|
+ goto register_notifier_fail;
|
|
|
|
|
|
|
|
rc = dsa_legacy_register();
|
|
rc = dsa_legacy_register();
|
|
|
if (rc)
|
|
if (rc)
|
|
|
- return rc;
|
|
|
|
|
|
|
+ goto legacy_register_fail;
|
|
|
|
|
|
|
|
dev_add_pack(&dsa_pack_type);
|
|
dev_add_pack(&dsa_pack_type);
|
|
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
|
|
|
+
|
|
|
|
|
+legacy_register_fail:
|
|
|
|
|
+ dsa_slave_unregister_notifier();
|
|
|
|
|
+register_notifier_fail:
|
|
|
|
|
+ destroy_workqueue(dsa_owq);
|
|
|
|
|
+
|
|
|
|
|
+ return rc;
|
|
|
}
|
|
}
|
|
|
module_init(dsa_init_module);
|
|
module_init(dsa_init_module);
|
|
|
|
|
|