aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
authorLuciano Coelho <coelho@ti.com>2012-06-20 10:23:24 -0400
committerJohannes Berg <johannes.berg@intel.com>2012-06-20 11:32:10 -0400
commit50ae34a254ca5192e46503884ed0edd60795fe87 (patch)
treeac65e6654a3812b549495e77166052d87a0cc7b1 /net/mac80211/mlme.c
parent46c1dd0c7fac54d3739d62b6362024d9b568c6de (diff)
mac80211: use the correct capability info in ieee80211_set_associated()
If an AP is beaconing with different capabilities than the one we get in the associate response, we were still using the capabilities received in the beacons. One example is when the AP is beaconing with the short slot bit set to zero and then we try to connect to it with long slot. In this case, we would keep using long slot until the next beacon was received. Fix this by using the correct capability value when calling ieee80211_handle_bss_capability(). We were using cbss->capability, but we should use the bss_conf->assoc_capability instead. Signed-off-by: Luciano Coelho <coelho@ti.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index fa927c6aa14b..94d0183ce224 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -1275,7 +1275,7 @@ static void ieee80211_set_associated(struct ieee80211_sub_if_data *sdata,
1275 1275
1276 bss_info_changed |= BSS_CHANGED_BEACON_INT; 1276 bss_info_changed |= BSS_CHANGED_BEACON_INT;
1277 bss_info_changed |= ieee80211_handle_bss_capability(sdata, 1277 bss_info_changed |= ieee80211_handle_bss_capability(sdata,
1278 cbss->capability, bss->has_erp_value, bss->erp_value); 1278 bss_conf->assoc_capability, bss->has_erp_value, bss->erp_value);
1279 1279
1280 sdata->u.mgd.beacon_timeout = usecs_to_jiffies(ieee80211_tu_to_usec( 1280 sdata->u.mgd.beacon_timeout = usecs_to_jiffies(ieee80211_tu_to_usec(
1281 IEEE80211_BEACON_LOSS_COUNT * bss_conf->beacon_int)); 1281 IEEE80211_BEACON_LOSS_COUNT * bss_conf->beacon_int));