summaryrefslogtreecommitdiff
path: root/package/mac80211/patches/520-ath9k_ar9285_diversity_fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/520-ath9k_ar9285_diversity_fix.patch')
-rw-r--r--package/mac80211/patches/520-ath9k_ar9285_diversity_fix.patch77
1 files changed, 77 insertions, 0 deletions
diff --git a/package/mac80211/patches/520-ath9k_ar9285_diversity_fix.patch b/package/mac80211/patches/520-ath9k_ar9285_diversity_fix.patch
new file mode 100644
index 0000000000..a79667421d
--- /dev/null
+++ b/package/mac80211/patches/520-ath9k_ar9285_diversity_fix.patch
@@ -0,0 +1,77 @@
+--- a/drivers/net/wireless/ath/ath9k/eeprom.h
++++ b/drivers/net/wireless/ath/ath9k/eeprom.h
+@@ -670,7 +670,7 @@ struct eeprom_ops {
+ int (*get_eeprom_ver)(struct ath_hw *hw);
+ int (*get_eeprom_rev)(struct ath_hw *hw);
+ u8 (*get_num_ant_config)(struct ath_hw *hw, enum ieee80211_band band);
+- u16 (*get_eeprom_antenna_cfg)(struct ath_hw *hw,
++ u32 (*get_eeprom_antenna_cfg)(struct ath_hw *hw,
+ struct ath9k_channel *chan);
+ void (*set_board_values)(struct ath_hw *hw, struct ath9k_channel *chan);
+ void (*set_addac)(struct ath_hw *hw, struct ath9k_channel *chan);
+--- a/drivers/net/wireless/ath/ath9k/eeprom_9287.c
++++ b/drivers/net/wireless/ath/ath9k/eeprom_9287.c
+@@ -1130,13 +1130,13 @@ static u8 ath9k_hw_ar9287_get_num_ant_co
+ return 1;
+ }
+
+-static u16 ath9k_hw_ar9287_get_eeprom_antenna_cfg(struct ath_hw *ah,
++static u32 ath9k_hw_ar9287_get_eeprom_antenna_cfg(struct ath_hw *ah,
+ struct ath9k_channel *chan)
+ {
+ struct ar9287_eeprom *eep = &ah->eeprom.map9287;
+ struct modal_eep_ar9287_header *pModal = &eep->modalHeader;
+
+- return pModal->antCtrlCommon & 0xFFFF;
++ return pModal->antCtrlCommon;
+ }
+
+ static u16 ath9k_hw_ar9287_get_spur_channel(struct ath_hw *ah,
+--- a/drivers/net/wireless/ath/ath9k/eeprom_def.c
++++ b/drivers/net/wireless/ath/ath9k/eeprom_def.c
+@@ -1438,14 +1438,14 @@ static u8 ath9k_hw_def_get_num_ant_confi
+ return num_ant_config;
+ }
+
+-static u16 ath9k_hw_def_get_eeprom_antenna_cfg(struct ath_hw *ah,
++static u32 ath9k_hw_def_get_eeprom_antenna_cfg(struct ath_hw *ah,
+ struct ath9k_channel *chan)
+ {
+ struct ar5416_eeprom_def *eep = &ah->eeprom.def;
+ struct modal_eep_header *pModal =
+ &(eep->modalHeader[IS_CHAN_2GHZ(chan)]);
+
+- return pModal->antCtrlCommon & 0xFFFF;
++ return pModal->antCtrlCommon;
+ }
+
+ static u16 ath9k_hw_def_get_spur_channel(struct ath_hw *ah, u16 i, bool is2GHz)
+--- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c
++++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
+@@ -1150,13 +1150,13 @@ static void ath9k_hw_4k_set_board_values
+ }
+ }
+
+-static u16 ath9k_hw_4k_get_eeprom_antenna_cfg(struct ath_hw *ah,
++static u32 ath9k_hw_4k_get_eeprom_antenna_cfg(struct ath_hw *ah,
+ struct ath9k_channel *chan)
+ {
+ struct ar5416_eeprom_4k *eep = &ah->eeprom.map4k;
+ struct modal_eep_4k_header *pModal = &eep->modalHeader;
+
+- return pModal->antCtrlCommon & 0xFFFF;
++ return pModal->antCtrlCommon;
+ }
+
+ static u8 ath9k_hw_4k_get_num_ant_config(struct ath_hw *ah,
+--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
++++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+@@ -951,7 +951,7 @@ static u8 ath9k_hw_ar9300_get_num_ant_co
+ return 1;
+ }
+
+-static u16 ath9k_hw_ar9300_get_eeprom_antenna_cfg(struct ath_hw *ah,
++static u32 ath9k_hw_ar9300_get_eeprom_antenna_cfg(struct ath_hw *ah,
+ struct ath9k_channel *chan)
+ {
+ return -EINVAL;