From 25a71a59aec292f177224f2d5f6567a3362ef9b0 Mon Sep 17 00:00:00 2001 From: Gabor Juhos <juhosg@openwrt.org> Date: Tue, 5 Oct 2010 14:10:32 +0000 Subject: [PATCH] mac80211: ath9k: get tx gain type from eeprom SVN-Revision: 23242 --- package/mac80211/Makefile | 2 +- ...k-get-ath9k-get-correct-tx-gain-type.patch | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 package/mac80211/patches/560-ath9k-get-ath9k-get-correct-tx-gain-type.patch diff --git a/package/mac80211/Makefile b/package/mac80211/Makefile index f65a823bd86..b6448402b01 100644 --- a/package/mac80211/Makefile +++ b/package/mac80211/Makefile @@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=mac80211 PKG_VERSION:=2010-09-28 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources # http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \ # http://wireless.kernel.org/download/compat-wireless-2.6 diff --git a/package/mac80211/patches/560-ath9k-get-ath9k-get-correct-tx-gain-type.patch b/package/mac80211/patches/560-ath9k-get-ath9k-get-correct-tx-gain-type.patch new file mode 100644 index 00000000000..d9262cf65c2 --- /dev/null +++ b/package/mac80211/patches/560-ath9k-get-ath9k-get-correct-tx-gain-type.patch @@ -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; + }