aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2009-12-28 15:09:11 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-12-28 15:09:11 -0500
commitea1e4b842049fcc4741096538114871a74859314 (patch)
treec2336ab480ac0fd62e0dc41b391d99c97158dc9c /drivers/net/wireless/wl12xx
parentb6ce5c33001b1dc83e6a1a6f30c5dccccea651b6 (diff)
parent92c6f8d849178582fc527aaf1e51dd37a74767d3 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Diffstat (limited to 'drivers/net/wireless/wl12xx')
-rw-r--r--drivers/net/wireless/wl12xx/wl1251_main.c36
1 files changed, 15 insertions, 21 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1251_main.c b/drivers/net/wireless/wl12xx/wl1251_main.c
index 63511ca131b1..6aeffbe9e401 100644
--- a/drivers/net/wireless/wl12xx/wl1251_main.c
+++ b/drivers/net/wireless/wl12xx/wl1251_main.c
@@ -630,10 +630,6 @@ static int wl1251_op_config(struct ieee80211_hw *hw, u32 changed)
630 goto out_sleep; 630 goto out_sleep;
631 } 631 }
632 632
633 ret = wl1251_build_null_data(wl);
634 if (ret < 0)
635 goto out_sleep;
636
637 if (conf->flags & IEEE80211_CONF_PS && !wl->psm_requested) { 633 if (conf->flags & IEEE80211_CONF_PS && !wl->psm_requested) {
638 wl1251_debug(DEBUG_PSM, "psm enabled"); 634 wl1251_debug(DEBUG_PSM, "psm enabled");
639 635
@@ -1116,6 +1112,21 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
1116 if (ret < 0) 1112 if (ret < 0)
1117 goto out; 1113 goto out;
1118 1114
1115 if (changed & BSS_CHANGED_BSSID) {
1116 memcpy(wl->bssid, bss_conf->bssid, ETH_ALEN);
1117
1118 ret = wl1251_build_null_data(wl);
1119 if (ret < 0)
1120 goto out;
1121
1122 if (wl->bss_type != BSS_TYPE_IBSS) {
1123 ret = wl1251_join(wl, wl->bss_type, wl->channel,
1124 wl->beacon_int, wl->dtim_period);
1125 if (ret < 0)
1126 goto out_sleep;
1127 }
1128 }
1129
1119 if (changed & BSS_CHANGED_ASSOC) { 1130 if (changed & BSS_CHANGED_ASSOC) {
1120 if (bss_conf->assoc) { 1131 if (bss_conf->assoc) {
1121 wl->beacon_int = bss_conf->beacon_int; 1132 wl->beacon_int = bss_conf->beacon_int;
@@ -1175,23 +1186,6 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
1175 } 1186 }
1176 } 1187 }
1177 1188
1178 if (changed & BSS_CHANGED_BSSID) {
1179 memcpy(wl->bssid, bss_conf->bssid, ETH_ALEN);
1180
1181 ret = wl1251_build_null_data(wl);
1182 if (ret < 0)
1183 goto out;
1184
1185 if (wl->bss_type != BSS_TYPE_IBSS) {
1186 ret = wl1251_join(wl, wl->bss_type, wl->channel,
1187 wl->beacon_int, wl->dtim_period);
1188 if (ret < 0)
1189 goto out_sleep;
1190 wl1251_warning("Set ctsprotect failed %d", ret);
1191 goto out_sleep;
1192 }
1193 }
1194
1195 if (changed & BSS_CHANGED_BEACON) { 1189 if (changed & BSS_CHANGED_BEACON) {
1196 beacon = ieee80211_beacon_get(hw, vif); 1190 beacon = ieee80211_beacon_get(hw, vif);
1197 ret = wl1251_cmd_template_set(wl, CMD_BEACON, beacon->data, 1191 ret = wl1251_cmd_template_set(wl, CMD_BEACON, beacon->data,