ath9k_hw: enable a BlockAck related fixup specific to AR9100
authorFelix Fietkau <nbd@openwrt.org>
Sat, 19 Mar 2011 12:55:41 +0000 (13:55 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 30 Mar 2011 18:15:16 +0000 (14:15 -0400)
Fixes interop issues with aggregation in combination with multi-BSSID

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/hw.c
drivers/net/wireless/ath/ath9k/reg.h

index b170c455a40bd3e82735d1afd01db628552f35da..175c36f3fdac944772f56c74d4ea386967d1cdac 100644 (file)
@@ -410,6 +410,8 @@ static void ath9k_hw_init_defaults(struct ath_hw *ah)
        ah->sta_id1_defaults =
                AR_STA_ID1_CRPT_MIC_ENABLE |
                AR_STA_ID1_MCAST_KSRCH;
+       if (AR_SREV_9100(ah))
+               ah->sta_id1_defaults |= AR_STA_ID1_AR9100_BA_FIX;
        ah->enable_32kHz_clock = DONT_USE_32KHZ;
        ah->slottime = 20;
        ah->globaltxtimeout = (u32) -1;
index 8fa8acfde62ee22df8922134501020fa0afb320b..693d543937b599d0e311383db220a007bfc3dd21 100644 (file)
@@ -1396,6 +1396,7 @@ enum {
 #define AR_STA_ID1_PCF             0x00100000
 #define AR_STA_ID1_USE_DEFANT      0x00200000
 #define AR_STA_ID1_DEFANT_UPDATE   0x00400000
+#define AR_STA_ID1_AR9100_BA_FIX   0x00400000
 #define AR_STA_ID1_RTS_USE_DEF     0x00800000
 #define AR_STA_ID1_ACKCTS_6MB      0x01000000
 #define AR_STA_ID1_BASE_RATE_11B   0x02000000