Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH 0/3] Fix rate control for A-MPDU
@ 2010-10-10 20:05 Björn Smedman
  0 siblings, 0 replies; only message in thread
From: Björn Smedman @ 2010-10-10 20:05 UTC (permalink / raw)
  To: linville, johannes, lrodriguez; +Cc: linux-wireless

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1317 bytes --]

Hi all,

Rate control for A-MPDU is somewhat complicated, mainly because each 
subframe has its own tx status but rate control is only relevant on a per 
aggregate level. This patch series fixes some more obscure bugs in the 
rate control feedback for A-MPDU frames, mainly for the case when rate 
control feedback is carried on a frame that has failed transmission.

There are two underlying assumptions: (1) the ampdu_len and ampdu_ack_len 
fields of the tx status structure must be set correctly by the driver if 
the IEEE80211_TX_STAT_AMPDU flag is set, and (2) the value of these fields 
must not be relied upon by rate control if the flag is not set.

I've only been able to test these patches with the ath9k driver using 
the minstrel ht rate control algorithm. I have also looked at the other 
driver references to ampdu_len and they seem safe under the above 
assumptions, except ath9k's built in rate control, for which I've 
attempted a fix.

Björn Smedman (3):
 mac80211: minstrel_ht A-MPDU fix
 ath9k: A-MPDU rate control info fix
 ath9k: built-in rate control A-MPDU fix

 drivers/net/wireless/ath/ath9k/rc.c   |    6 ++++++
 drivers/net/wireless/ath/ath9k/xmit.c |   19 +++++++++++++------
 net/mac80211/rc80211_minstrel_ht.c    |    7 ++++---
 3 files changed, 23 insertions(+), 9 deletions(-)

/Björn

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-10-10 20:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-10 20:05 [PATCH 0/3] Fix rate control for A-MPDU Björn Smedman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox