|
@@ -0,0 +1,33 @@
|
|
|
+--- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c
|
|
|
++++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
|
|
|
+@@ -179,6 +179,9 @@ static u32 ath9k_hw_4k_get_eeprom(struct
|
|
|
+ struct ar5416_eeprom_4k *eep = &ah->eeprom.map4k;
|
|
|
+ struct modal_eep_4k_header *pModal = &eep->modalHeader;
|
|
|
+ struct base_eep_header_4k *pBase = &eep->baseEepHeader;
|
|
|
++ u16 ver_minor;
|
|
|
++
|
|
|
++ ver_minor = pBase->version & AR5416_EEP_VER_MINOR_MASK;
|
|
|
+
|
|
|
+ switch (param) {
|
|
|
+ case EEP_NFTHRESH_2:
|
|
|
+@@ -204,7 +207,7 @@ static u32 ath9k_hw_4k_get_eeprom(struct
|
|
|
+ case EEP_DB_2:
|
|
|
+ return pModal->db1_1;
|
|
|
+ case EEP_MINOR_REV:
|
|
|
+- return pBase->version & AR5416_EEP_VER_MINOR_MASK;
|
|
|
++ return ver_minor;
|
|
|
+ case EEP_TX_MASK:
|
|
|
+ return pBase->txMask;
|
|
|
+ case EEP_RX_MASK:
|
|
|
+@@ -217,6 +220,11 @@ static u32 ath9k_hw_4k_get_eeprom(struct
|
|
|
+ return pModal->version;
|
|
|
+ case EEP_ANT_DIV_CTL1:
|
|
|
+ return pModal->antdiv_ctl1;
|
|
|
++ case EEP_TXGAIN_TYPE:
|
|
|
++ if (ver_minor >= AR5416_EEP_MINOR_VER_19)
|
|
|
++ return pBase->txGainType;
|
|
|
++ else
|
|
|
++ return AR5416_EEP_TXGAIN_ORIGINAL;
|
|
|
+ default:
|
|
|
+ return 0;
|
|
|
+ }
|