diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-10-28 09:17:44 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-11-11 00:59:23 -0500 |
commit | ac71c691e6a5ce991fe221d3bdb0c972f617aa37 (patch) | |
tree | a3641b416579fbb8368e04e1a88f68e0da8dfe39 /net/mac80211/ieee80211.c | |
parent | 8a8f1c0437a77cce29c1cb6089f01f22a6d9ca6e (diff) |
mac80211: make simple rate control algorithm built-in
Too frequently people do not have module autoloading enabled
or fail to install the rate control module correctly, hence
their hardware probing fails due to no rate control algorithm
being available. This makes the 'simple' algorithm built into
the mac80211 module unless EMBEDDED is enabled in which case
it can be disabled (eg. if the wanted driver requires another
rate control algorithm.)
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211.c')
-rw-r--r-- | net/mac80211/ieee80211.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c index f484ca7ade9c..52ba6ef90685 100644 --- a/net/mac80211/ieee80211.c +++ b/net/mac80211/ieee80211.c | |||
@@ -1233,8 +1233,17 @@ static int __init ieee80211_init(void) | |||
1233 | 1233 | ||
1234 | BUILD_BUG_ON(sizeof(struct ieee80211_tx_packet_data) > sizeof(skb->cb)); | 1234 | BUILD_BUG_ON(sizeof(struct ieee80211_tx_packet_data) > sizeof(skb->cb)); |
1235 | 1235 | ||
1236 | #ifdef CONFIG_MAC80211_RCSIMPLE | ||
1237 | ret = ieee80211_rate_control_register(&mac80211_rcsimple); | ||
1238 | if (ret) | ||
1239 | return ret; | ||
1240 | #endif | ||
1241 | |||
1236 | ret = ieee80211_wme_register(); | 1242 | ret = ieee80211_wme_register(); |
1237 | if (ret) { | 1243 | if (ret) { |
1244 | #ifdef CONFIG_MAC80211_RCSIMPLE | ||
1245 | ieee80211_rate_control_unregister(&mac80211_rcsimple); | ||
1246 | #endif | ||
1238 | printk(KERN_DEBUG "ieee80211_init: failed to " | 1247 | printk(KERN_DEBUG "ieee80211_init: failed to " |
1239 | "initialize WME (err=%d)\n", ret); | 1248 | "initialize WME (err=%d)\n", ret); |
1240 | return ret; | 1249 | return ret; |
@@ -1248,6 +1257,10 @@ static int __init ieee80211_init(void) | |||
1248 | 1257 | ||
1249 | static void __exit ieee80211_exit(void) | 1258 | static void __exit ieee80211_exit(void) |
1250 | { | 1259 | { |
1260 | #ifdef CONFIG_MAC80211_RCSIMPLE | ||
1261 | ieee80211_rate_control_unregister(&mac80211_rcsimple); | ||
1262 | #endif | ||
1263 | |||
1251 | ieee80211_wme_unregister(); | 1264 | ieee80211_wme_unregister(); |
1252 | ieee80211_debugfs_netdev_exit(); | 1265 | ieee80211_debugfs_netdev_exit(); |
1253 | } | 1266 | } |