summaryrefslogtreecommitdiffstats
path: root/net/dsa/dsa.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/dsa/dsa.c')
-rw-r--r--net/dsa/dsa.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
index 36de4f2a3366..cb080efdc7b3 100644
--- a/net/dsa/dsa.c
+++ b/net/dsa/dsa.c
@@ -344,15 +344,22 @@ static int __init dsa_init_module(void)
344 344
345 rc = dsa_slave_register_notifier(); 345 rc = dsa_slave_register_notifier();
346 if (rc) 346 if (rc)
347 return rc; 347 goto register_notifier_fail;
348 348
349 rc = dsa_legacy_register(); 349 rc = dsa_legacy_register();
350 if (rc) 350 if (rc)
351 return rc; 351 goto legacy_register_fail;
352 352
353 dev_add_pack(&dsa_pack_type); 353 dev_add_pack(&dsa_pack_type);
354 354
355 return 0; 355 return 0;
356
357legacy_register_fail:
358 dsa_slave_unregister_notifier();
359register_notifier_fail:
360 destroy_workqueue(dsa_owq);
361
362 return rc;
356} 363}
357module_init(dsa_init_module); 364module_init(dsa_init_module);
358 365