ath9k: Choose correct rate for 2GHz channel
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Mon, 2 Feb 2015 12:51:13 +0000 (18:21 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 6 Feb 2015 06:39:42 +0000 (08:39 +0200)
Set the transmit rate for the keep-alive frames
as 1M/CCK when the current channel is in the
2GHz band.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath9k/ar9003_wow.c

index 2dc50a0eedc456630b7750f3ace870f30d47c97e..86bfc9604dcabec92e8ba4703f1bdc3637ad30f5 100644 (file)
@@ -62,11 +62,15 @@ static void ath9k_wow_create_keep_alive_pattern(struct ath_hw *ah)
        /* set the transmit buffer */
        ctl[0] = (KAL_FRAME_LEN | (MAX_RATE_POWER << 16));
        ctl[1] = 0;
-       ctl[3] = 0xb;   /* OFDM_6M hardware value for this rate */
        ctl[4] = 0;
        ctl[7] = (ah->txchainmask) << 2;
        ctl[2] = 0xf << 16; /* tx_tries 0 */
 
+       if (IS_CHAN_2GHZ(ah->curchan))
+               ctl[3] = 0x1b;  /* CCK_1M */
+       else
+               ctl[3] = 0xb;   /* OFDM_6M */
+
        for (i = 0; i < KAL_NUM_DESC_WORDS; i++)
                REG_WRITE(ah, (AR_WOW_KA_DESC_WORD2 + i * 4), ctl[i]);