From d5d08def9216c445339c5a24a2cdc9cc2c8c13f7 Mon Sep 17 00:00:00 2001 From: Ivo van Doorn Date: Fri, 27 Jul 2007 15:43:23 +0200 Subject: [MAC80211]: Add LONG_RETRY flag to ieee80211_tx_control mac80211 informs the driver what the short and long retry values are through set_retry_limit(), but when packets are being transmitted it did not inform the driver which of the 2 retry limits should actually be used. Instead it sends the actual value, but for drivers that can only set the retry limit and the register and in the descriptor need to indicate which of the limits should be used this is not really useful. This patch will add a IEEE80211_TXCTL_LONG_RETRY_LIMIT flag to the ieee80211_tx_control structure. By default the short retry limit should be used but if the flag is set the long retry should be used. This does not prevent the driver to ignore the request for "no retry" packets, but at least those will be send out with the short retry limit. But there is no perfect cure for this problem.. :( Signed-off-by: Ivo van Doorn Signed-off-by: Jiri Benc Signed-off-by: John W. Linville --- net/mac80211/tx.c | 1 + 1 file changed, 1 insertion(+) (limited to 'net/mac80211') diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 2a1a7d45713..532cf5127b7 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -649,6 +649,7 @@ ieee80211_tx_h_misc(struct ieee80211_txrx_data *tx) if (tx->skb->len + FCS_LEN > tx->local->rts_threshold && tx->local->rts_threshold < IEEE80211_MAX_RTS_THRESHOLD) { control->flags |= IEEE80211_TXCTL_USE_RTS_CTS; + control->flags |= IEEE80211_TXCTL_LONG_RETRY_LIMIT; control->retry_limit = tx->local->long_retry_limit; } else { -- cgit v1.2.3