ath9k: fix PA predistortion training, fixes hang issues and most likely also fixes...
[oweals/openwrt.git] / package / mac80211 / patches / 570-ath9k_paprd_hornet_mask.patch
1 --- a/drivers/net/wireless/ath/ath9k/ar9003_paprd.c
2 +++ b/drivers/net/wireless/ath/ath9k/ar9003_paprd.c
3 @@ -142,6 +142,7 @@ static int ar9003_paprd_setup_single_tab
4         };
5         int training_power;
6         int i, val;
7 +       u32 am2pm_mask = ah->paprd_ratemask;
8  
9         if (IS_CHAN_2GHZ(ah->curchan))
10                 training_power = ar9003_get_training_power_2g(ah);
11 @@ -158,10 +159,13 @@ static int ar9003_paprd_setup_single_tab
12         }
13         ah->paprd_training_power = training_power;
14  
15 +       if (AR_SREV_9330(ah))
16 +               am2pm_mask = 0;
17 +
18         REG_RMW_FIELD(ah, AR_PHY_PAPRD_AM2AM, AR_PHY_PAPRD_AM2AM_MASK,
19                       ah->paprd_ratemask);
20         REG_RMW_FIELD(ah, AR_PHY_PAPRD_AM2PM, AR_PHY_PAPRD_AM2PM_MASK,
21 -                     ah->paprd_ratemask);
22 +                     am2pm_mask);
23         REG_RMW_FIELD(ah, AR_PHY_PAPRD_HT40, AR_PHY_PAPRD_HT40_MASK,
24                       ah->paprd_ratemask_ht40);
25