Return-path: Received: from he.sipsolutions.net ([78.46.109.217]:38875 "EHLO sipsolutions.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752445Ab1CPJiL (ORCPT ); Wed, 16 Mar 2011 05:38:11 -0400 Subject: [PATCH] mac80211: fix comment regarding aggregation buf_size From: Johannes Berg To: John Linville Cc: Emmanuel Grumbach , linux-wireless Content-Type: text/plain; charset="UTF-8" Date: Wed, 16 Mar 2011 10:39:50 +0100 Message-ID: <1300268390.3761.14.camel@jlt3.sipsolutions.net> Mime-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org List-ID: From: Johannes Berg The description for buf_size was misleading and just said you couldn't TX larger aggregates, but of course you can't TX aggregates in a way that would exceed the window either, which is possible even if the aggregates are shorter than that. Expand the description, thanks to Emmanuel for explaining this to me. Cc: Emmanuel Grumbach Signed-off-by: Johannes Berg --- include/net/mac80211.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) --- a/include/net/mac80211.h 2011-03-16 10:30:26.000000000 +0100 +++ b/include/net/mac80211.h 2011-03-16 10:37:49.000000000 +0100 @@ -1753,8 +1753,17 @@ 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......8 + * - RX: 2.....8 (lost frame #1) + * - TX: 9...1... + * which is invalid since #1 was now re-transmitted well past the + * buffer size of 8. The correct way to retransmit #1 would be: + * - TX: 19...... * Returns a negative error code on failure. * The callback can sleep. *