Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
[safe/jmp/linux-2.6] / net / mac80211 / mlme.c
index 1619e0c..132938b 100644 (file)
@@ -1366,7 +1366,7 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
 
        for (i = 0; i < elems.ext_supp_rates_len; i++) {
                int rate = (elems.ext_supp_rates[i] & 0x7f) * 5;
-               bool is_basic = !!(elems.supp_rates[i] & 0x80);
+               bool is_basic = !!(elems.ext_supp_rates[i] & 0x80);
 
                if (rate > 110)
                        have_higher_than_11mbit = true;
@@ -1913,9 +1913,17 @@ static void ieee80211_sta_work(struct work_struct *work)
 
 static void ieee80211_restart_sta_timer(struct ieee80211_sub_if_data *sdata)
 {
-       if (sdata->vif.type == NL80211_IFTYPE_STATION)
+       if (sdata->vif.type == NL80211_IFTYPE_STATION) {
+               /*
+                * Need to update last_beacon to avoid beacon loss
+                * test to trigger.
+                */
+               sdata->u.mgd.last_beacon = jiffies;
+
+
                queue_work(sdata->local->hw.workqueue,
                           &sdata->u.mgd.work);
+       }
 }
 
 /* interface setup */