Search Linux Wireless

Re: [PATCH] ath9k_hw: do not apply the 2.4 ghz ack timeout workaround to cts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux