Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 236894
b: refs/heads/master
c: 2d6e4e7
h: refs/heads/master
v: v3
  • Loading branch information
Luciano Coelho committed Jan 24, 2011
1 parent e3dae32 commit 9606167
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 28 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a8aaaf53d5f22f7f60ca5af26fc85c2940575c37
refs/heads/master: 2d6e4e76d1e73886cb087142e70e2beaabb94b79
60 changes: 33 additions & 27 deletions trunk/drivers/net/wireless/wl12xx/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2219,7 +2219,7 @@ static void wl1271_bss_info_changed_sta(struct wl1271 *wl,
bool do_join = false, set_assoc = false;
bool is_ibss = (wl->bss_type == BSS_TYPE_IBSS);
int ret;
struct ieee80211_sta *sta = ieee80211_find_sta(vif, bss_conf->bssid);
struct ieee80211_sta *sta;

if (is_ibss) {
ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf,
Expand Down Expand Up @@ -2378,36 +2378,42 @@ static void wl1271_bss_info_changed_sta(struct wl1271 *wl,
if (ret < 0)
goto out;

/*
* Takes care of: New association with HT enable,
* HT information change in beacon.
*/
if (sta &&
(changed & BSS_CHANGED_HT) &&
(bss_conf->channel_type != NL80211_CHAN_NO_HT)) {
ret = wl1271_acx_set_ht_capabilities(wl, &sta->ht_cap, true);
if (ret < 0) {
wl1271_warning("Set ht cap true failed %d", ret);
goto out;
}
rcu_read_lock();
sta = ieee80211_find_sta(vif, bss_conf->bssid);
if (sta) {
/* handle new association with HT and HT information change */
if ((changed & BSS_CHANGED_HT) &&
(bss_conf->channel_type != NL80211_CHAN_NO_HT)) {
ret = wl1271_acx_set_ht_capabilities(wl, &sta->ht_cap,
true);
if (ret < 0) {
wl1271_warning("Set ht cap true failed %d",
ret);
rcu_read_unlock();
goto out;
}
ret = wl1271_acx_set_ht_information(wl,
bss_conf->ht_operation_mode);
if (ret < 0) {
wl1271_warning("Set ht information failed %d", ret);
goto out;
bss_conf->ht_operation_mode);
if (ret < 0) {
wl1271_warning("Set ht information failed %d",
ret);
rcu_read_unlock();
goto out;
}
}
}
/*
* Takes care of: New association without HT,
* Disassociation.
*/
else if (sta && (changed & BSS_CHANGED_ASSOC)) {
ret = wl1271_acx_set_ht_capabilities(wl, &sta->ht_cap, false);
if (ret < 0) {
wl1271_warning("Set ht cap false failed %d", ret);
goto out;
/* handle new association without HT and disassociation */
else if (changed & BSS_CHANGED_ASSOC) {
ret = wl1271_acx_set_ht_capabilities(wl, &sta->ht_cap,
false);
if (ret < 0) {
wl1271_warning("Set ht cap false failed %d",
ret);
rcu_read_unlock();
goto out;
}
}
}
rcu_read_unlock();

if (changed & BSS_CHANGED_ARP_FILTER) {
__be32 addr = bss_conf->arp_addr_list[0];
Expand Down

0 comments on commit 9606167

Please sign in to comment.