ath9k_hw: Fix rx latency of 11a mode
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>
Wed, 31 Aug 2011 05:17:30 +0000 (10:47 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 13 Sep 2011 19:48:48 +0000 (15:48 -0400)
Rx latecy to start signal(usec) of 11a is 41 not 37 and
also corrected the rx delay in quarter rate.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/hw.c

index 468ac4b17dfb51f92bd6b50070614ae4ebf6bfbe..16884c416a7e475bebed5a91048dcbdd393c848e 100644 (file)
@@ -975,7 +975,10 @@ void ath9k_hw_init_global_settings(struct ath_hw *ah)
        if (ah->misc_mode != 0)
                REG_SET_BIT(ah, AR_PCU_MISC, ah->misc_mode);
 
-       rx_lat = 37;
+       if (IS_CHAN_A_FAST_CLOCK(ah, chan))
+               rx_lat = 41;
+       else
+               rx_lat = 37;
        tx_lat = 54;
 
        if (IS_CHAN_HALF_RATE(chan)) {
@@ -989,7 +992,7 @@ void ath9k_hw_init_global_settings(struct ath_hw *ah)
                sifstime = 32;
        } else if (IS_CHAN_QUARTER_RATE(chan)) {
                eifs = 340;
-               rx_lat *= 4;
+               rx_lat = (rx_lat * 4) - 1;
                tx_lat *= 4;
                if (IS_CHAN_A_FAST_CLOCK(ah, chan))
                    tx_lat += 22;