diff options
author | David S. Miller <davem@davemloft.net> | 2011-01-27 16:00:37 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-01-27 16:00:37 -0800 |
commit | 8571a19c4ac140f1a507f3e7eb716892afa27109 (patch) | |
tree | 55ef6a0ab68d6388177d3290a7fd6bc3f12a381f /net/mac80211/agg-rx.c | |
parent | aae7c47311659e5150b740d61c4be418198239fa (diff) | |
parent | 8d8d3fdc0d42be0ba75be227465773a54bb48a0b (diff) | |
download | lwn-8571a19c4ac140f1a507f3e7eb716892afa27109.tar.gz lwn-8571a19c4ac140f1a507f3e7eb716892afa27109.zip |
Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'net/mac80211/agg-rx.c')
-rw-r--r-- | net/mac80211/agg-rx.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c index 227ca82eef72..0c9d0c07eae6 100644 --- a/net/mac80211/agg-rx.c +++ b/net/mac80211/agg-rx.c @@ -76,7 +76,7 @@ void ___ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid, #endif /* CONFIG_MAC80211_HT_DEBUG */ if (drv_ampdu_action(local, sta->sdata, IEEE80211_AMPDU_RX_STOP, - &sta->sta, tid, NULL)) + &sta->sta, tid, NULL, 0)) printk(KERN_DEBUG "HW problem - can not stop rx " "aggregation for tid %d\n", tid); @@ -232,6 +232,9 @@ void ieee80211_process_addba_request(struct ieee80211_local *local, if (buf_size == 0) 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; /* examine state machine */ mutex_lock(&sta->ampdu_mlme.mtx); @@ -287,7 +290,7 @@ void ieee80211_process_addba_request(struct ieee80211_local *local, } ret = drv_ampdu_action(local, sta->sdata, IEEE80211_AMPDU_RX_START, - &sta->sta, tid, &start_seq_num); + &sta->sta, tid, &start_seq_num, 0); #ifdef CONFIG_MAC80211_HT_DEBUG printk(KERN_DEBUG "Rx A-MPDU request on tid %d result %d\n", tid, ret); #endif /* CONFIG_MAC80211_HT_DEBUG */ |