You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
993 B
31 lines
993 B
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
|
@@ -1326,6 +1326,16 @@ static void ath9k_hw_override_ini(struct
|
|
* Necessary to avoid issues on AR5416 2.0
|
|
*/
|
|
REG_WRITE(ah, 0x9800 + (651 << 2), 0x11);
|
|
+
|
|
+ /*
|
|
+ * Disable RIFS search on some chips to avoid baseband
|
|
+ * hang issues.
|
|
+ */
|
|
+ if (AR_SREV_9100(ah) || AR_SREV_9160(ah)) {
|
|
+ val = REG_READ(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS);
|
|
+ val &= ~AR_PHY_RIFS_INIT_DELAY;
|
|
+ REG_WRITE(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS, val);
|
|
+ }
|
|
}
|
|
|
|
static u32 ath9k_hw_def_ini_fixup(struct ath_hw *ah,
|
|
--- a/drivers/net/wireless/ath/ath9k/phy.h
|
|
+++ b/drivers/net/wireless/ath/ath9k/phy.h
|
|
@@ -384,6 +384,9 @@ bool ath9k_hw_set_rf_regs(struct ath_hw
|
|
|
|
#define AR_PHY_HEAVY_CLIP_ENABLE 0x99E0
|
|
|
|
+#define AR_PHY_HEAVY_CLIP_FACTOR_RIFS 0x99EC
|
|
+#define AR_PHY_RIFS_INIT_DELAY 0x03ff0000
|
|
+
|
|
#define AR_PHY_M_SLEEP 0x99f0
|
|
#define AR_PHY_REFCLKDLY 0x99f4
|
|
#define AR_PHY_REFCLKPD 0x99f8
|
|
|