summaryrefslogtreecommitdiff
path: root/net/mac80211/agg-rx.c
diff options
context:
space:
mode:
authorLuciano Coelho <coelho@ti.com>2011-01-12 13:26:30 (GMT)
committerJohn W. Linville <linville@tuxdriver.com>2011-01-19 16:36:09 (GMT)
commitdf6ba5d80d6c9b51471d5fa046c3c06988e5f62a (patch)
tree9321170ce223172318ff6e6fa34bd3b30559cf44 /net/mac80211/agg-rx.c
parentdcac908babcd8ce21057e476c8df609b28ad2cd8 (diff)
downloadlinux-df6ba5d80d6c9b51471d5fa046c3c06988e5f62a.tar.xz
mac80211: add hw configuration for max ampdu buffer size
Some devices don't support the maximum AMDPU buffer size of 64, so we need to add an option to configure this in the hardware configuration. This value will be used in the ADDBA response instead of the value suggested in the request, if the latter is greater than the max supported. Signed-off-by: Luciano Coelho <coelho@ti.com> Tested-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/agg-rx.c')
-rw-r--r--net/mac80211/agg-rx.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
index f138b19..002db5e 100644
--- a/net/mac80211/agg-rx.c
+++ b/net/mac80211/agg-rx.c
@@ -239,6 +239,9 @@ void ieee80211_process_addba_request(struct ieee80211_local *local,
buf_size = buf_size << sband->ht_cap.ampdu_factor;
}
+ /* 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);