diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-01-31 13:33:53 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-02-01 16:15:40 -0500 |
commit | 3eadf5f4f635ed6a6cd921195c320d58b5f9a185 (patch) | |
tree | c784b178435b8554bc570a106a78577bb28c443a /net/mac80211/ieee80211.c | |
parent | f0b9205cfb77d992e8c0f727de3099159c80dbbd (diff) |
mac80211: fix initialisation error path
The error handling in ieee80211_init() is broken when any of
the built-in rate control algorithms fail to initialise, fix
it and rename the error labels.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211.c')
-rw-r--r-- | net/mac80211/ieee80211.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c index 5dcc2d61551f..67b7c75c430d 100644 --- a/net/mac80211/ieee80211.c +++ b/net/mac80211/ieee80211.c | |||
@@ -1344,17 +1344,17 @@ static int __init ieee80211_init(void) | |||
1344 | 1344 | ||
1345 | ret = rc80211_simple_init(); | 1345 | ret = rc80211_simple_init(); |
1346 | if (ret) | 1346 | if (ret) |
1347 | goto fail; | 1347 | goto out; |
1348 | 1348 | ||
1349 | ret = rc80211_pid_init(); | 1349 | ret = rc80211_pid_init(); |
1350 | if (ret) | 1350 | if (ret) |
1351 | goto fail_simple; | 1351 | goto out_cleanup_simple; |
1352 | 1352 | ||
1353 | ret = ieee80211_wme_register(); | 1353 | ret = ieee80211_wme_register(); |
1354 | if (ret) { | 1354 | if (ret) { |
1355 | printk(KERN_DEBUG "ieee80211_init: failed to " | 1355 | printk(KERN_DEBUG "ieee80211_init: failed to " |
1356 | "initialize WME (err=%d)\n", ret); | 1356 | "initialize WME (err=%d)\n", ret); |
1357 | goto fail_pid; | 1357 | goto out_cleanup_pid; |
1358 | } | 1358 | } |
1359 | 1359 | ||
1360 | ieee80211_debugfs_netdev_init(); | 1360 | ieee80211_debugfs_netdev_init(); |
@@ -1362,11 +1362,11 @@ static int __init ieee80211_init(void) | |||
1362 | 1362 | ||
1363 | return 0; | 1363 | return 0; |
1364 | 1364 | ||
1365 | fail_pid: | 1365 | out_cleanup_pid: |
1366 | rc80211_simple_exit(); | ||
1367 | fail_simple: | ||
1368 | rc80211_pid_exit(); | 1366 | rc80211_pid_exit(); |
1369 | fail: | 1367 | out_cleanup_simple: |
1368 | rc80211_simple_exit(); | ||
1369 | out: | ||
1370 | return ret; | 1370 | return ret; |
1371 | } | 1371 | } |
1372 | 1372 | ||