On Sun, Aug 28, 2011 at 01:52:10AM +0200, Felix Fietkau wrote: > It is only used to workaround interoperability issues related to longer > delays in receiving the block ack, so it is not necessary to apply it > to the CTS exchange. > Should improve throughput slightly, especially when there are lots > of retransmissions. > > Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> > --- > drivers/net/wireless/ath/ath9k/hw.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c > index a0d1147..3ccadeb 100644 > --- a/drivers/net/wireless/ath/ath9k/hw.c > +++ b/drivers/net/wireless/ath/ath9k/hw.c > @@ -960,7 +960,7 @@ void ath9k_hw_init_global_settings(struct ath_hw *ah) > struct ath_common *common = ath9k_hw_common(ah); > struct ieee80211_conf *conf = &common->hw->conf; > const struct ath9k_channel *chan = ah->curchan; > - int acktimeout; > + int acktimeout, ctstimeout; > int slottime; > int sifstime; > int rx_lat = 0, tx_lat = 0, eifs = 0; > @@ -1011,6 +1011,7 @@ void ath9k_hw_init_global_settings(struct ath_hw *ah) > > /* As defined by IEEE 802.11-2007 17.3.8.6 */ > acktimeout = slottime + sifstime + 3 * ah->coverage_class; > + ctstimeout = acktimeout; > > /* > * Workaround for early ACK timeouts, add an offset to match the > @@ -1025,7 +1026,7 @@ void ath9k_hw_init_global_settings(struct ath_hw *ah) > ath9k_hw_set_sifs_time(ah, sifstime); > ath9k_hw_setslottime(ah, slottime); > ath9k_hw_set_ack_timeout(ah, acktimeout); > - ath9k_hw_set_cts_timeout(ah, acktimeout); > + ath9k_hw_set_cts_timeout(ah, ctstimeout); > if (ah->globaltxtimeout != (u32) -1) > ath9k_hw_set_global_txtimeout(ah, ah->globaltxtimeout); > the cts timeout calculation does not include start delay factor. And also it is always lesser than the INI values. Decreasing CTS timeout could affect performance in congested network. -- Rajkumar -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html