aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c23
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-calib.c5
2 files changed, 21 insertions, 7 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index af700707cb73..edfa5e149f71 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -61,13 +61,26 @@
61#define _IWL6050_MODULE_FIRMWARE(api) IWL6050_FW_PRE #api ".ucode" 61#define _IWL6050_MODULE_FIRMWARE(api) IWL6050_FW_PRE #api ".ucode"
62#define IWL6050_MODULE_FIRMWARE(api) _IWL6050_MODULE_FIRMWARE(api) 62#define IWL6050_MODULE_FIRMWARE(api) _IWL6050_MODULE_FIRMWARE(api)
63 63
64static struct iwl_hcmd_utils_ops iwl6000_hcmd_utils = {
65 .get_hcmd_size = iwl5000_get_hcmd_size,
66 .build_addsta_hcmd = iwl5000_build_addsta_hcmd,
67 .rts_tx_cmd_flag = iwl5000_rts_tx_cmd_flag,
68 .calc_rssi = iwl5000_calc_rssi,
69};
70
71static struct iwl_ops iwl6000_ops = {
72 .lib = &iwl5000_lib,
73 .hcmd = &iwl5000_hcmd,
74 .utils = &iwl6000_hcmd_utils,
75};
76
64struct iwl_cfg iwl6000_2ag_cfg = { 77struct iwl_cfg iwl6000_2ag_cfg = {
65 .name = "6000 Series 2x2 AG", 78 .name = "6000 Series 2x2 AG",
66 .fw_name_pre = IWL6000_FW_PRE, 79 .fw_name_pre = IWL6000_FW_PRE,
67 .ucode_api_max = IWL6000_UCODE_API_MAX, 80 .ucode_api_max = IWL6000_UCODE_API_MAX,
68 .ucode_api_min = IWL6000_UCODE_API_MIN, 81 .ucode_api_min = IWL6000_UCODE_API_MIN,
69 .sku = IWL_SKU_A|IWL_SKU_G, 82 .sku = IWL_SKU_A|IWL_SKU_G,
70 .ops = &iwl5000_ops, 83 .ops = &iwl6000_ops,
71 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, 84 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE,
72 .eeprom_ver = EEPROM_5000_EEPROM_VERSION, 85 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
73 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 86 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
@@ -83,7 +96,7 @@ struct iwl_cfg iwl6000_2agn_cfg = {
83 .ucode_api_max = IWL6000_UCODE_API_MAX, 96 .ucode_api_max = IWL6000_UCODE_API_MAX,
84 .ucode_api_min = IWL6000_UCODE_API_MIN, 97 .ucode_api_min = IWL6000_UCODE_API_MIN,
85 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, 98 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N,
86 .ops = &iwl5000_ops, 99 .ops = &iwl6000_ops,
87 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, 100 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE,
88 .eeprom_ver = EEPROM_5000_EEPROM_VERSION, 101 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
89 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 102 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
@@ -99,7 +112,7 @@ struct iwl_cfg iwl6050_2agn_cfg = {
99 .ucode_api_max = IWL6050_UCODE_API_MAX, 112 .ucode_api_max = IWL6050_UCODE_API_MAX,
100 .ucode_api_min = IWL6050_UCODE_API_MIN, 113 .ucode_api_min = IWL6050_UCODE_API_MIN,
101 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, 114 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N,
102 .ops = &iwl5000_ops, 115 .ops = &iwl6000_ops,
103 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, 116 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE,
104 .eeprom_ver = EEPROM_5000_EEPROM_VERSION, 117 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
105 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 118 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
@@ -115,7 +128,7 @@ struct iwl_cfg iwl6000_3agn_cfg = {
115 .ucode_api_max = IWL6000_UCODE_API_MAX, 128 .ucode_api_max = IWL6000_UCODE_API_MAX,
116 .ucode_api_min = IWL6000_UCODE_API_MIN, 129 .ucode_api_min = IWL6000_UCODE_API_MIN,
117 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, 130 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N,
118 .ops = &iwl5000_ops, 131 .ops = &iwl6000_ops,
119 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, 132 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE,
120 .eeprom_ver = EEPROM_5000_EEPROM_VERSION, 133 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
121 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 134 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
@@ -131,7 +144,7 @@ struct iwl_cfg iwl6050_3agn_cfg = {
131 .ucode_api_max = IWL6050_UCODE_API_MAX, 144 .ucode_api_max = IWL6050_UCODE_API_MAX,
132 .ucode_api_min = IWL6050_UCODE_API_MIN, 145 .ucode_api_min = IWL6050_UCODE_API_MIN,
133 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, 146 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N,
134 .ops = &iwl5000_ops, 147 .ops = &iwl6000_ops,
135 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, 148 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE,
136 .eeprom_ver = EEPROM_5000_EEPROM_VERSION, 149 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
137 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 150 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
diff --git a/drivers/net/wireless/iwlwifi/iwl-calib.c b/drivers/net/wireless/iwlwifi/iwl-calib.c
index d06c57764e11..d95797ac02cd 100644
--- a/drivers/net/wireless/iwlwifi/iwl-calib.c
+++ b/drivers/net/wireless/iwlwifi/iwl-calib.c
@@ -846,8 +846,9 @@ void iwl_chain_noise_calibration(struct iwl_priv *priv,
846 IWL_DEBUG_CALIB(priv, "min_average_noise = %d, antenna %d\n", 846 IWL_DEBUG_CALIB(priv, "min_average_noise = %d, antenna %d\n",
847 min_average_noise, min_average_noise_antenna_i); 847 min_average_noise, min_average_noise_antenna_i);
848 848
849 priv->cfg->ops->utils->gain_computation(priv, average_noise, 849 if (priv->cfg->ops->utils->gain_computation)
850 min_average_noise_antenna_i, min_average_noise); 850 priv->cfg->ops->utils->gain_computation(priv, average_noise,
851 min_average_noise_antenna_i, min_average_noise);
851 852
852 /* Some power changes may have been made during the calibration. 853 /* Some power changes may have been made during the calibration.
853 * Update and commit the RXON 854 * Update and commit the RXON