aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/ieee80211.c')
-rw-r--r--net/mac80211/ieee80211.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c
index f484ca7ade9c..e0ee65a969bc 100644
--- a/net/mac80211/ieee80211.c
+++ b/net/mac80211/ieee80211.c
@@ -1072,7 +1072,8 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
1072 ieee80211_debugfs_add_netdev(IEEE80211_DEV_TO_SUB_IF(local->mdev)); 1072 ieee80211_debugfs_add_netdev(IEEE80211_DEV_TO_SUB_IF(local->mdev));
1073 ieee80211_if_set_type(local->mdev, IEEE80211_IF_TYPE_AP); 1073 ieee80211_if_set_type(local->mdev, IEEE80211_IF_TYPE_AP);
1074 1074
1075 result = ieee80211_init_rate_ctrl_alg(local, NULL); 1075 result = ieee80211_init_rate_ctrl_alg(local,
1076 hw->rate_control_algorithm);
1076 if (result < 0) { 1077 if (result < 0) {
1077 printk(KERN_DEBUG "%s: Failed to initialize rate control " 1078 printk(KERN_DEBUG "%s: Failed to initialize rate control "
1078 "algorithm\n", wiphy_name(local->hw.wiphy)); 1079 "algorithm\n", wiphy_name(local->hw.wiphy));
@@ -1233,8 +1234,17 @@ static int __init ieee80211_init(void)
1233 1234
1234 BUILD_BUG_ON(sizeof(struct ieee80211_tx_packet_data) > sizeof(skb->cb)); 1235 BUILD_BUG_ON(sizeof(struct ieee80211_tx_packet_data) > sizeof(skb->cb));
1235 1236
1237#ifdef CONFIG_MAC80211_RCSIMPLE
1238 ret = ieee80211_rate_control_register(&mac80211_rcsimple);
1239 if (ret)
1240 return ret;
1241#endif
1242
1236 ret = ieee80211_wme_register(); 1243 ret = ieee80211_wme_register();
1237 if (ret) { 1244 if (ret) {
1245#ifdef CONFIG_MAC80211_RCSIMPLE
1246 ieee80211_rate_control_unregister(&mac80211_rcsimple);
1247#endif
1238 printk(KERN_DEBUG "ieee80211_init: failed to " 1248 printk(KERN_DEBUG "ieee80211_init: failed to "
1239 "initialize WME (err=%d)\n", ret); 1249 "initialize WME (err=%d)\n", ret);
1240 return ret; 1250 return ret;
@@ -1248,6 +1258,10 @@ static int __init ieee80211_init(void)
1248 1258
1249static void __exit ieee80211_exit(void) 1259static void __exit ieee80211_exit(void)
1250{ 1260{
1261#ifdef CONFIG_MAC80211_RCSIMPLE
1262 ieee80211_rate_control_unregister(&mac80211_rcsimple);
1263#endif
1264
1251 ieee80211_wme_unregister(); 1265 ieee80211_wme_unregister();
1252 ieee80211_debugfs_netdev_exit(); 1266 ieee80211_debugfs_netdev_exit();
1253} 1267}