aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945.c7
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.h1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-debugfs.c3
4 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c
index 3faa78ceaed..360781326cb 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945.c
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.c
@@ -1714,6 +1714,11 @@ static int iwl3945_hw_reg_comp_txpower_temp(struct iwl_priv *priv)
1714 int ref_temp; 1714 int ref_temp;
1715 int temperature = priv->temperature; 1715 int temperature = priv->temperature;
1716 1716
1717 if (priv->disable_tx_power_cal ||
1718 test_bit(STATUS_SCANNING, &priv->status)) {
1719 /* do not perform tx power calibration */
1720 return 0;
1721 }
1717 /* set up new Tx power info for each and every channel, 2.4 and 5.x */ 1722 /* set up new Tx power info for each and every channel, 2.4 and 5.x */
1718 for (i = 0; i < priv->channel_count; i++) { 1723 for (i = 0; i < priv->channel_count; i++) {
1719 ch_info = &priv->channel_info[i]; 1724 ch_info = &priv->channel_info[i];
@@ -2842,6 +2847,7 @@ static struct iwl_cfg iwl3945_bg_cfg = {
2842 .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF, 2847 .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF,
2843 .monitor_recover_period = IWL_MONITORING_PERIOD, 2848 .monitor_recover_period = IWL_MONITORING_PERIOD,
2844 .max_event_log_size = 512, 2849 .max_event_log_size = 512,
2850 .tx_power_by_driver = true,
2845}; 2851};
2846 2852
2847static struct iwl_cfg iwl3945_abg_cfg = { 2853static struct iwl_cfg iwl3945_abg_cfg = {
@@ -2862,6 +2868,7 @@ static struct iwl_cfg iwl3945_abg_cfg = {
2862 .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF, 2868 .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF,
2863 .monitor_recover_period = IWL_MONITORING_PERIOD, 2869 .monitor_recover_period = IWL_MONITORING_PERIOD,
2864 .max_event_log_size = 512, 2870 .max_event_log_size = 512,
2871 .tx_power_by_driver = true,
2865}; 2872};
2866 2873
2867DEFINE_PCI_DEVICE_TABLE(iwl3945_hw_card_ids) = { 2874DEFINE_PCI_DEVICE_TABLE(iwl3945_hw_card_ids) = {
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index 136c2906748..460aea3240c 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -2262,6 +2262,7 @@ struct iwl_cfg iwl4965_agn_cfg = {
2262 .monitor_recover_period = IWL_MONITORING_PERIOD, 2262 .monitor_recover_period = IWL_MONITORING_PERIOD,
2263 .temperature_kelvin = true, 2263 .temperature_kelvin = true,
2264 .max_event_log_size = 512, 2264 .max_event_log_size = 512,
2265 .tx_power_by_driver = true,
2265 2266
2266 /* 2267 /*
2267 * Force use of chains B and C for scan RX on 5 GHz band 2268 * Force use of chains B and C for scan RX on 5 GHz band
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
index 7deed865b14..60d26e4e6ed 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
@@ -319,6 +319,7 @@ struct iwl_cfg {
319 u32 monitor_recover_period; 319 u32 monitor_recover_period;
320 bool temperature_kelvin; 320 bool temperature_kelvin;
321 u32 max_event_log_size; 321 u32 max_event_log_size;
322 const bool tx_power_by_driver;
322 u8 scan_antennas[IEEE80211_NUM_BANDS]; 323 u8 scan_antennas[IEEE80211_NUM_BANDS];
323}; 324};
324 325
diff --git a/drivers/net/wireless/iwlwifi/iwl-debugfs.c b/drivers/net/wireless/iwlwifi/iwl-debugfs.c
index b071e1bff80..0faadf3a8b8 100644
--- a/drivers/net/wireless/iwlwifi/iwl-debugfs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-debugfs.c
@@ -1647,8 +1647,7 @@ int iwl_dbgfs_register(struct iwl_priv *priv, const char *name)
1647 DEBUGFS_ADD_BOOL(disable_sensitivity, dir_rf, &priv->disable_sens_cal); 1647 DEBUGFS_ADD_BOOL(disable_sensitivity, dir_rf, &priv->disable_sens_cal);
1648 DEBUGFS_ADD_BOOL(disable_chain_noise, dir_rf, 1648 DEBUGFS_ADD_BOOL(disable_chain_noise, dir_rf,
1649 &priv->disable_chain_noise_cal); 1649 &priv->disable_chain_noise_cal);
1650 if (((priv->hw_rev & CSR_HW_REV_TYPE_MSK) == CSR_HW_REV_TYPE_4965) || 1650 if (priv->cfg->tx_power_by_driver)
1651 ((priv->hw_rev & CSR_HW_REV_TYPE_MSK) == CSR_HW_REV_TYPE_3945))
1652 DEBUGFS_ADD_BOOL(disable_tx_power, dir_rf, 1651 DEBUGFS_ADD_BOOL(disable_tx_power, dir_rf,
1653 &priv->disable_tx_power_cal); 1652 &priv->disable_tx_power_cal);
1654 return 0; 1653 return 0;