2011-09-26 11:16:29

by Rajkumar Manoharan

[permalink] [raw]
Subject: [RFC v2] mac80211: Send nullfunc frames at lower rate

Recently mac80211 was changed to use nullfunc instead of probe
request for connection monitoring for tx ack status reporting
hardwares. These nullfunc data frames are being sent at higer
rates and also as aggregated ones. This could probably delays
the nullfunc ack so the connection is more frequently getting
disconnected as max retries are reached. In order to improve
the connectivity send the nullfunc at lower rate.

Signed-off-by: Rajkumar Manoharan <[email protected]>
---
v2: updated commit log
net/mac80211/rate.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
index f61244c..213e1e9 100644
--- a/net/mac80211/rate.c
+++ b/net/mac80211/rate.c
@@ -208,7 +208,8 @@ static bool rc_no_data_or_no_ack(struct ieee80211_tx_rate_control *txrc)

fc = hdr->frame_control;

- return (info->flags & IEEE80211_TX_CTL_NO_ACK) || !ieee80211_is_data(fc);
+ return (info->flags & IEEE80211_TX_CTL_NO_ACK) ||
+ !ieee80211_is_data(fc) || ieee80211_is_nullfunc(fc);
}

static void rc_send_low_broadcast(s8 *idx, u32 basic_rates,
--
1.7.6.4