summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Kossifidis2008-04-21 20:28:24 +0200
committerJohn W. Linville2008-04-24 03:25:35 +0200
commitd1d8f44a4e3c730984283c0bf4b3458e3a88c15a (patch)
tree5d600926ea764d87f2285416a33ce61a2269046e
parentssb: Fix all-ones boardflags (diff)
downloadkernel-qcow2-linux-d1d8f44a4e3c730984283c0bf4b3458e3a88c15a.tar.gz
kernel-qcow2-linux-d1d8f44a4e3c730984283c0bf4b3458e3a88c15a.tar.xz
kernel-qcow2-linux-d1d8f44a4e3c730984283c0bf4b3458e3a88c15a.zip
ath5k: Fix radio identification on AR5424/2424
*Fix radio chip identification on AR5424/2424 during ath5k_hw_attach *Try to assign an RF2413 radio on AR2424 for testing Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis <mickflemm@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath5k/hw.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath5k/hw.c b/drivers/net/wireless/ath5k/hw.c
index 87e782291a01..5fb1ae6ad3e2 100644
--- a/drivers/net/wireless/ath5k/hw.c
+++ b/drivers/net/wireless/ath5k/hw.c
@@ -304,14 +304,20 @@ struct ath5k_hw *ath5k_hw_attach(struct ath5k_softc *sc, u8 mac_version)
ah->ah_radio = AR5K_RF2413;
ah->ah_phy_spending = AR5K_PHY_SPENDING_RF5112A;
} else if (ah->ah_radio_5ghz_revision < AR5K_SREV_RAD_SC2) {
-
ah->ah_radio = AR5K_RF5413;
+ ah->ah_phy_spending = AR5K_PHY_SPENDING_RF5112A;
+ } else if (ah->ah_radio_5ghz_revision < AR5K_SREV_RAD_5133) {
- if (ah->ah_mac_srev <= AR5K_SREV_VER_AR5424 &&
- ah->ah_mac_srev >= AR5K_SREV_VER_AR2424)
+ /* AR5424 */
+ if (srev >= AR5K_SREV_VER_AR5424) {
+ ah->ah_radio = AR5K_RF5413;
ah->ah_phy_spending = AR5K_PHY_SPENDING_RF5424;
- else
+ /* AR2424 */
+ } else {
+ ah->ah_radio = AR5K_RF2413; /* For testing */
ah->ah_phy_spending = AR5K_PHY_SPENDING_RF5112A;
+ }
+
/*
* Register returns 0x4 for radio revision
* so ath5k_hw_radio_revision doesn't parse the value