summaryrefslogtreecommitdiffstats
path: root/sys/net80211
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2013-02-08 09:07:03 +0000
committeradrian <adrian@FreeBSD.org>2013-02-08 09:07:03 +0000
commit4acae54565d578a2e81cd337e27be6b99051bc97 (patch)
treea426e49b3db7be3a3246d76a2e729157647b6d1d /sys/net80211
parent505f2c124da4cd9c79b239ce676511222babf0c9 (diff)
downloadFreeBSD-src-4acae54565d578a2e81cd337e27be6b99051bc97.zip
FreeBSD-src-4acae54565d578a2e81cd337e27be6b99051bc97.tar.gz
Fix a corner case that I noticed with the AR5416 (and it's currently
crappy 802.11n performance, sigh.) With the AR5416, aggregates need to be limited to 8KiB if RTS/CTS is enabled. However, larger aggregates were going out with RTSCTS enabled. The following was going on: * The first buffer in the list would have RTS/CTS enabled in bf->bf_state.txflags; * The aggregate would be formed; * The "copy over the txflags from the first buffer" logic that I added blanked the RTS/CTS TX flags fields, and then copied the bf_first RTS/CTS flags over; * .. but that'd cause bf_first to be blanked out! And thus the flag was cleared; * So the rest of the aggregate formation would run with those flags cleared, and thus > 8KiB aggregates were formed. The driver is now (again) correctly limiting aggregate formation for the AR5416 but there are still other pending issues to resolve. Tested: * AR5416, STA mode
Diffstat (limited to 'sys/net80211')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud