diff options
Diffstat (limited to 'net/mac80211/ieee80211.c')
-rw-r--r-- | net/mac80211/ieee80211.c | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c index 5bf7a5bebfc9..3d7b4341914e 100644 --- a/net/mac80211/ieee80211.c +++ b/net/mac80211/ieee80211.c | |||
@@ -1315,23 +1315,37 @@ static int __init ieee80211_init(void) | |||
1315 | #ifdef CONFIG_MAC80211_RCSIMPLE | 1315 | #ifdef CONFIG_MAC80211_RCSIMPLE |
1316 | ret = ieee80211_rate_control_register(&mac80211_rcsimple); | 1316 | ret = ieee80211_rate_control_register(&mac80211_rcsimple); |
1317 | if (ret) | 1317 | if (ret) |
1318 | return ret; | 1318 | goto fail; |
1319 | #endif | ||
1320 | |||
1321 | #ifdef CONFIG_MAC80211_RCPID | ||
1322 | ret = ieee80211_rate_control_register(&mac80211_rcpid); | ||
1323 | if (ret) | ||
1324 | goto fail; | ||
1319 | #endif | 1325 | #endif |
1320 | 1326 | ||
1321 | ret = ieee80211_wme_register(); | 1327 | ret = ieee80211_wme_register(); |
1322 | if (ret) { | 1328 | if (ret) { |
1323 | #ifdef CONFIG_MAC80211_RCSIMPLE | ||
1324 | ieee80211_rate_control_unregister(&mac80211_rcsimple); | ||
1325 | #endif | ||
1326 | printk(KERN_DEBUG "ieee80211_init: failed to " | 1329 | printk(KERN_DEBUG "ieee80211_init: failed to " |
1327 | "initialize WME (err=%d)\n", ret); | 1330 | "initialize WME (err=%d)\n", ret); |
1328 | return ret; | 1331 | goto fail; |
1329 | } | 1332 | } |
1330 | 1333 | ||
1331 | ieee80211_debugfs_netdev_init(); | 1334 | ieee80211_debugfs_netdev_init(); |
1332 | ieee80211_regdomain_init(); | 1335 | ieee80211_regdomain_init(); |
1333 | 1336 | ||
1334 | return 0; | 1337 | return 0; |
1338 | |||
1339 | fail: | ||
1340 | |||
1341 | #ifdef CONFIG_MAC80211_RCSIMPLE | ||
1342 | ieee80211_rate_control_unregister(&mac80211_rcsimple); | ||
1343 | #endif | ||
1344 | #ifdef CONFIG_MAC80211_RCPID | ||
1345 | ieee80211_rate_control_unregister(&mac80211_rcpid); | ||
1346 | #endif | ||
1347 | |||
1348 | return ret; | ||
1335 | } | 1349 | } |
1336 | 1350 | ||
1337 | static void __exit ieee80211_exit(void) | 1351 | static void __exit ieee80211_exit(void) |
@@ -1339,6 +1353,9 @@ static void __exit ieee80211_exit(void) | |||
1339 | #ifdef CONFIG_MAC80211_RCSIMPLE | 1353 | #ifdef CONFIG_MAC80211_RCSIMPLE |
1340 | ieee80211_rate_control_unregister(&mac80211_rcsimple); | 1354 | ieee80211_rate_control_unregister(&mac80211_rcsimple); |
1341 | #endif | 1355 | #endif |
1356 | #ifdef CONFIG_MAC80211_RCPID | ||
1357 | ieee80211_rate_control_unregister(&mac80211_rcpid); | ||
1358 | #endif | ||
1342 | 1359 | ||
1343 | ieee80211_wme_unregister(); | 1360 | ieee80211_wme_unregister(); |
1344 | ieee80211_debugfs_netdev_exit(); | 1361 | ieee80211_debugfs_netdev_exit(); |