diff options
author | John W. Linville <linville@tuxdriver.com> | 2012-02-29 23:53:21 +0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-02-29 23:53:21 +0400 |
commit | 8701ff0a88bcfc8c7dced3842919ad8d016a6835 (patch) | |
tree | ba71774b83e92d6507a398024a6d89b146181320 /drivers/net/wireless/ath/ath9k/ar9002_hw.c | |
parent | f4fb4b212d2668f831918023bc3ca451997faee6 (diff) | |
parent | 00f157b49780e194c38dafdf9df8e10b8a6a9626 (diff) | |
download | linux-8701ff0a88bcfc8c7dced3842919ad8d016a6835.tar.xz |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ar9002_hw.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ar9002_hw.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9002_hw.c b/drivers/net/wireless/ath/ath9k/ar9002_hw.c index d48f5fe8af7f..e3f268900763 100644 --- a/drivers/net/wireless/ath/ath9k/ar9002_hw.c +++ b/drivers/net/wireless/ath/ath9k/ar9002_hw.c @@ -141,6 +141,25 @@ static void ar9002_hw_init_mode_regs(struct ath_hw *ah) INIT_INI_ARRAY(&ah->iniBank6TPC, ar5416Bank6TPC_9100, ARRAY_SIZE(ar5416Bank6TPC_9100), 3); } + + /* iniAddac needs to be modified for these chips */ + if (AR_SREV_9160(ah) || !AR_SREV_5416_22_OR_LATER(ah)) { + struct ar5416IniArray *addac = &ah->iniAddac; + u32 size = sizeof(u32) * addac->ia_rows * addac->ia_columns; + u32 *data; + + data = kmalloc(size, GFP_KERNEL); + if (!data) + return; + + memcpy(data, addac->ia_array, size); + addac->ia_array = data; + + if (!AR_SREV_5416_22_OR_LATER(ah)) { + /* override CLKDRV value */ + INI_RA(addac, 31,1) = 0; + } + } } /* Support for Japan ch.14 (2484) spread */ |