diff options
author | Gábor Stefanik <netrolller.3d@gmail.com> | 2009-04-23 13:36:14 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-05-06 15:14:51 -0400 |
commit | 9955151df7c6452cae2ed9649f53d265c91cf155 (patch) | |
tree | 8f1edf3ba7281ec75742e47552ee3a154eebc025 /net/mac80211/tx.c | |
parent | 97d3f458a1e3350dfcbdc3b6aefa75d20d59ee17 (diff) |
mac80211: Warn if the rate controller requests retries for a NO_ACK frame
To deter future rate scaling algorithm writers from requesting NO_ACK
packets to be retried, throw a WARN_ON_ONCE if the algorithm hands us
a try count over 1 for NO_ACK packet.
Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r-- | net/mac80211/tx.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 1564a3018cf5..36e8e2de980c 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -558,6 +558,10 @@ ieee80211_tx_h_rate_ctrl(struct ieee80211_tx_data *tx) | |||
558 | if (unlikely(!info->control.rates[0].count)) | 558 | if (unlikely(!info->control.rates[0].count)) |
559 | info->control.rates[0].count = 1; | 559 | info->control.rates[0].count = 1; |
560 | 560 | ||
561 | if (WARN_ON_ONCE((info->control.rates[0].count > 1) && | ||
562 | (info->flags & IEEE80211_TX_CTL_NO_ACK))) | ||
563 | info->control.rates[0].count = 1; | ||
564 | |||
561 | if (is_multicast_ether_addr(hdr->addr1)) { | 565 | if (is_multicast_ether_addr(hdr->addr1)) { |
562 | /* | 566 | /* |
563 | * XXX: verify the rate is in the basic rateset | 567 | * XXX: verify the rate is in the basic rateset |