Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mac80211: Don't use a buf_size=0 in ADDBA requests

According to 802.11-2007, 7.3.1.14 it is compliant to use a buf_size of
0 in ADDBA requests. But some devices (AVM Fritz Stick N) arn't able to
handle that correctly and will reply with an ADDBA reponse with a
buf_size of 0 which in turn will disallow BA sessions for these
devices.

To work around this problem, initialize hw.max_tx_aggregation_subframes
to the maximum AMPDU buffer size 0x40.

Using 0 as default for the bufsize was introduced in commit
5dd36bc933e8be84f8369ac64505a2938f9ce036 (mac80211: allow advertising
correct maximum aggregate size).

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Helmut Schaa and committed by
John W. Linville
39e68712 3ca97880

+1
+1
net/mac80211/main.c
··· 608 608 local->hw.max_rates = 1; 609 609 local->hw.max_report_rates = 0; 610 610 local->hw.max_rx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF; 611 + local->hw.max_tx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF; 611 612 local->hw.conf.long_frame_max_tx_count = wiphy->retry_long; 612 613 local->hw.conf.short_frame_max_tx_count = wiphy->retry_short; 613 614 local->user_power_level = -1;