From 508d2280a956b738876d0f44cdf40bacace105dc Mon Sep 17 00:00:00 2001 From: Vasanthakumar Thiagarajan Date: Mon, 6 Dec 2010 04:27:43 -0800 Subject: [PATCH] --- yaml --- r: 225103 b: refs/heads/master c: 47c80de62e9d6d262a829502d689a8b56add8d3d h: refs/heads/master i: 225101: dce28e49c1e2869510f186fc58334572e8d33880 225099: 1c207ce41173c7f64d3cc61dae280ce15af26b80 225095: 947d51f1054c4c09285e23aacd2114f2400c65dc 225087: 9a9037bde6cdf44b873808c539e5525a8e204e6b v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/ath/ath9k/hw.c | 14 +++++++++++++- trunk/drivers/net/wireless/ath/ath9k/hw.h | 2 ++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 81a1584af28d..f2018b568d89 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8060e169e02fe855f5533b5ef6af1f23ae2db0c4 +refs/heads/master: 47c80de62e9d6d262a829502d689a8b56add8d3d diff --git a/trunk/drivers/net/wireless/ath/ath9k/hw.c b/trunk/drivers/net/wireless/ath/ath9k/hw.c index 49da1849c7fe..a2f85b75b7f8 100644 --- a/trunk/drivers/net/wireless/ath/ath9k/hw.c +++ b/trunk/drivers/net/wireless/ath/ath9k/hw.c @@ -1764,7 +1764,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) struct ath_btcoex_hw *btcoex_hw = &ah->btcoex_hw; u16 capField = 0, eeval; - u8 ant_div_ctl1; + u8 ant_div_ctl1, tx_chainmask, rx_chainmask; eeval = ah->eep_ops->get_eeprom(ah, EEP_REG_0); regulatory->current_rd = eeval; @@ -1976,6 +1976,18 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) pCap->pcie_lcr_offset = 0x80; } + tx_chainmask = pCap->tx_chainmask; + rx_chainmask = pCap->rx_chainmask; + while (tx_chainmask || rx_chainmask) { + if (tx_chainmask & BIT(0)) + pCap->max_txchains++; + if (rx_chainmask & BIT(0)) + pCap->max_rxchains++; + + tx_chainmask >>= 1; + rx_chainmask >>= 1; + } + return 0; } diff --git a/trunk/drivers/net/wireless/ath/ath9k/hw.h b/trunk/drivers/net/wireless/ath/ath9k/hw.h index 76ae3296e3fc..fcfd63efe55a 100644 --- a/trunk/drivers/net/wireless/ath/ath9k/hw.h +++ b/trunk/drivers/net/wireless/ath/ath9k/hw.h @@ -199,6 +199,8 @@ struct ath9k_hw_capabilities { u16 rts_aggr_limit; u8 tx_chainmask; u8 rx_chainmask; + u8 max_txchains; + u8 max_rxchains; u16 tx_triglevel_max; u16 reg_cap; u8 num_gpio_pins;