aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-6000.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2010-12-09 12:30:14 -0500
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2010-12-13 18:52:11 -0500
commit8d6748ca73a0caffed4304a47a9cb4cd0aba361e (patch)
tree33d2a527a6fae850d199cb03d65455d3c8409d68 /drivers/net/wireless/iwlwifi/iwl-6000.c
parente7362a0069f8448bb346d65f07d98b319f243e30 (diff)
iwlagn: implement layout-agnostic EEPROM reading
The current EEPROM reading code has some layout assumptions that now turned out to be false with some newer versions of the EEPROM. Luckily, we can avoid all such assumptions by using data in the EEPROM itself, so implement using that. However, for risk mitigation purposes, keep the old reading code for current hardware for now. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-6000.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index 8a789241704f..db70a6bfaa55 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -568,6 +568,7 @@ struct iwl_cfg iwl6005_2agn_cfg = {
568 .need_dc_calib = true, 568 .need_dc_calib = true,
569 .need_temp_offset_calib = true, 569 .need_temp_offset_calib = true,
570 .led_mode = IWL_LED_RF_STATE, 570 .led_mode = IWL_LED_RF_STATE,
571 .use_new_eeprom_reading = true,
571}; 572};
572 573
573struct iwl_cfg iwl6005_2abg_cfg = { 574struct iwl_cfg iwl6005_2abg_cfg = {
@@ -583,6 +584,7 @@ struct iwl_cfg iwl6005_2abg_cfg = {
583 .need_dc_calib = true, 584 .need_dc_calib = true,
584 .need_temp_offset_calib = true, 585 .need_temp_offset_calib = true,
585 .led_mode = IWL_LED_RF_STATE, 586 .led_mode = IWL_LED_RF_STATE,
587 .use_new_eeprom_reading = true,
586}; 588};
587 589
588struct iwl_cfg iwl6005_2bg_cfg = { 590struct iwl_cfg iwl6005_2bg_cfg = {
@@ -598,6 +600,7 @@ struct iwl_cfg iwl6005_2bg_cfg = {
598 .need_dc_calib = true, 600 .need_dc_calib = true,
599 .need_temp_offset_calib = true, 601 .need_temp_offset_calib = true,
600 .led_mode = IWL_LED_RF_STATE, 602 .led_mode = IWL_LED_RF_STATE,
603 .use_new_eeprom_reading = true,
601}; 604};
602 605
603struct iwl_cfg iwl6030_2agn_cfg = { 606struct iwl_cfg iwl6030_2agn_cfg = {
@@ -618,6 +621,7 @@ struct iwl_cfg iwl6030_2agn_cfg = {
618 .adv_pm = true, 621 .adv_pm = true,
619 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 622 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
620 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 623 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
624 .use_new_eeprom_reading = true,
621}; 625};
622 626
623struct iwl_cfg iwl6030_2abg_cfg = { 627struct iwl_cfg iwl6030_2abg_cfg = {
@@ -637,6 +641,7 @@ struct iwl_cfg iwl6030_2abg_cfg = {
637 .adv_pm = true, 641 .adv_pm = true,
638 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 642 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
639 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 643 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
644 .use_new_eeprom_reading = true,
640}; 645};
641 646
642struct iwl_cfg iwl6030_2bgn_cfg = { 647struct iwl_cfg iwl6030_2bgn_cfg = {
@@ -657,6 +662,7 @@ struct iwl_cfg iwl6030_2bgn_cfg = {
657 .adv_pm = true, 662 .adv_pm = true,
658 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 663 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
659 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 664 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
665 .use_new_eeprom_reading = true,
660}; 666};
661 667
662struct iwl_cfg iwl6030_2bg_cfg = { 668struct iwl_cfg iwl6030_2bg_cfg = {
@@ -676,6 +682,7 @@ struct iwl_cfg iwl6030_2bg_cfg = {
676 .adv_pm = true, 682 .adv_pm = true,
677 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 683 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
678 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 684 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
685 .use_new_eeprom_reading = true,
679}; 686};
680 687
681struct iwl_cfg iwl1030_bgn_cfg = { 688struct iwl_cfg iwl1030_bgn_cfg = {
@@ -696,6 +703,7 @@ struct iwl_cfg iwl1030_bgn_cfg = {
696 .adv_pm = true, 703 .adv_pm = true,
697 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 704 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
698 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 705 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
706 .use_new_eeprom_reading = true,
699}; 707};
700 708
701struct iwl_cfg iwl1030_bg_cfg = { 709struct iwl_cfg iwl1030_bg_cfg = {
@@ -715,6 +723,7 @@ struct iwl_cfg iwl1030_bg_cfg = {
715 .adv_pm = true, 723 .adv_pm = true,
716 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 724 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
717 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 725 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
726 .use_new_eeprom_reading = true,
718}; 727};
719 728
720/* 729/*
@@ -797,6 +806,7 @@ struct iwl_cfg iwl6150_bgn_cfg = {
797 .ht_params = &iwl6000_ht_params, 806 .ht_params = &iwl6000_ht_params,
798 .need_dc_calib = true, 807 .need_dc_calib = true,
799 .led_mode = IWL_LED_RF_STATE, 808 .led_mode = IWL_LED_RF_STATE,
809 .use_new_eeprom_reading = true,
800}; 810};
801 811
802struct iwl_cfg iwl6050_2abg_cfg = { 812struct iwl_cfg iwl6050_2abg_cfg = {
@@ -846,6 +856,7 @@ struct iwl_cfg iwl130_bgn_cfg = {
846 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 856 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
847 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 857 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
848 .rx_with_siso_diversity = true, 858 .rx_with_siso_diversity = true,
859 .use_new_eeprom_reading = true,
849}; 860};
850 861
851struct iwl_cfg iwl130_bg_cfg = { 862struct iwl_cfg iwl130_bg_cfg = {
@@ -865,6 +876,7 @@ struct iwl_cfg iwl130_bg_cfg = {
865 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 876 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
866 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 877 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
867 .rx_with_siso_diversity = true, 878 .rx_with_siso_diversity = true,
879 .use_new_eeprom_reading = true,
868}; 880};
869 881
870MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX)); 882MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX));