summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-04-06 13:34:15 -0700
committerDavid S. Miller <davem@davemloft.net>2011-04-06 13:34:15 -0700
commita25a32ab71f822efb3e6025c365caa678aa6ff3b (patch)
treefcbc495baddf6d1837034cb83ee837887ea648f6 /include
parentec80bfcb68a0c46443991991d459a0cde773cdea (diff)
parent3d7dc7e8c1566acb0fc55df228b2ed91f5638e9d (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Diffstat (limited to 'include')
-rw-r--r--include/net/mac80211.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index cefe1b37c49..965f1b16e53 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1753,8 +1753,19 @@ enum ieee80211_ampdu_mlme_action {
* that TX/RX_STOP can pass NULL for this parameter.
* The @buf_size parameter is only valid when the action is set to
* %IEEE80211_AMPDU_TX_OPERATIONAL and indicates the peer's reorder
- * buffer size (number of subframes) for this session -- aggregates
- * containing more subframes than this may not be transmitted to the peer.
+ * buffer size (number of subframes) for this session -- the driver
+ * may neither send aggregates containing more subframes than this
+ * nor send aggregates in a way that lost frames would exceed the
+ * buffer size. If just limiting the aggregate size, this would be
+ * possible with a buf_size of 8:
+ * - TX: 1.....7
+ * - RX: 2....7 (lost frame #1)
+ * - TX: 8..1...
+ * which is invalid since #1 was now re-transmitted well past the
+ * buffer size of 8. Correct ways to retransmit #1 would be:
+ * - TX: 1 or 18 or 81
+ * Even "189" would be wrong since 1 could be lost again.
+ *
* Returns a negative error code on failure.
* The callback can sleep.
*