athk: Use SREV to identify single-chip solutions
PATCH 5/7 athk: Use SREV to identify single-chip solutions
Use SREV instead of pci id to identify single chip solutions.
Srev is more accurate info to identify the chip + this makes it possible to identify some 5424 chips found on thinkpads with faulty 5212 pci id.
Changes-licensed-under: ISC
Signed-off-by Nick Kossifidis <[email protected]>
---
drivers/net/wireless/ath5k/hw.c +8 -17
@@ -229,23 +229,6 @@ struct ath5k_hw *ath5k_hw_attach(u16 device, u8 mac_version, void *sc, ah->ah_software_retry = false; ah->ah_ant_diversity =AR5K_TUNE_ANT_DIVERSITY ; -switch (device) { -case PCI_DEVICE_ID_ATHEROS_AR2413 : -case PCI_DEVICE_ID_ATHEROS_AR5413 : -case PCI_DEVICE_ID_ATHEROS_AR5424 : -/* -* Known single chip solutions -*/ - ah->ah_single_chip = true; -break ; -default : -/* -* Multi chip solutions -*/ - ah->ah_single_chip = false; -break ; - } -/* * Set the mac revision based on the pci id */
@@ -295,6 +278,14 @@ struct ath5k_hw *ath5k_hw_attach(u16 device, u8 mac_version, void *sc, ah->ah_radio_2ghz_revision =ath5k_hw_radio_revision (ah,CHANNEL_2GHZ ); +/* Identify single chip solutions */ +if ((srev <=AR5K_SREV_VER_AR5414 ) && + (srev >=AR5K_SREV_VER_AR2424 )) { + ah->ah_single_chip = true; + }else { + ah->ah_single_chip = false; + } +/* Single chip radio */ if (ah->ah_radio_2ghz_revision == ah->ah_radio_5ghz_revision) ah->ah_radio_2ghz_revision =0 ;