Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[cascardo/linux.git] / net / mac80211 / agg-rx.c
index afa9468..f6749dc 100644 (file)
@@ -304,10 +304,13 @@ void __ieee80211_start_rx_ba_session(struct sta_info *sta,
                buf_size = IEEE80211_MAX_AMPDU_BUF;
 
        /* make sure the size doesn't exceed the maximum supported by the hw */
-       if (buf_size > local->hw.max_rx_aggregation_subframes)
-               buf_size = local->hw.max_rx_aggregation_subframes;
+       if (buf_size > sta->sta.max_rx_aggregation_subframes)
+               buf_size = sta->sta.max_rx_aggregation_subframes;
        params.buf_size = buf_size;
 
+       ht_dbg(sta->sdata, "AddBA Req buf_size=%d for %pM\n",
+              buf_size, sta->sta.addr);
+
        /* examine state machine */
        mutex_lock(&sta->ampdu_mlme.mtx);
 
@@ -412,8 +415,10 @@ void __ieee80211_start_rx_ba_session(struct sta_info *sta,
        }
 
 end:
-       if (status == WLAN_STATUS_SUCCESS)
+       if (status == WLAN_STATUS_SUCCESS) {
                __set_bit(tid, sta->ampdu_mlme.agg_session_valid);
+               __clear_bit(tid, sta->ampdu_mlme.unexpected_agg);
+       }
        mutex_unlock(&sta->ampdu_mlme.mtx);
 
 end_no_lock: