Skip to content

Commit e9fb92e

Browse files
haimdreyfusslucacoelho
authored andcommitted
iwlwifi: fix fw_pre_next_step to apply also for C step
C step NICs should use the latest FW (currently B step). Correct the condition to make C step NICs advanced its default FW name to the latest one. Also rename _next_ to b_or_c to avoid confusion. Fixes: 5da083d ("iwlwifi: add support for 9000 HW B-step NICs") Signed-off-by: Haim Dreyfuss <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
1 parent 87f5561 commit e9fb92e

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed

drivers/net/wireless/intel/iwlwifi/cfg/9000.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ static const struct iwl_tt_params iwl9000_tt_params = {
154154
const struct iwl_cfg iwl9160_2ac_cfg = {
155155
.name = "Intel(R) Dual Band Wireless AC 9160",
156156
.fw_name_pre = IWL9260A_FW_PRE,
157-
.fw_name_pre_next_step = IWL9260B_FW_PRE,
157+
.fw_name_pre_b_or_c_step = IWL9260B_FW_PRE,
158158
IWL_DEVICE_9000,
159159
.ht_params = &iwl9000_ht_params,
160160
.nvm_ver = IWL9000_NVM_VERSION,
@@ -165,7 +165,7 @@ const struct iwl_cfg iwl9160_2ac_cfg = {
165165
const struct iwl_cfg iwl9260_2ac_cfg = {
166166
.name = "Intel(R) Dual Band Wireless AC 9260",
167167
.fw_name_pre = IWL9260A_FW_PRE,
168-
.fw_name_pre_next_step = IWL9260B_FW_PRE,
168+
.fw_name_pre_b_or_c_step = IWL9260B_FW_PRE,
169169
IWL_DEVICE_9000,
170170
.ht_params = &iwl9000_ht_params,
171171
.nvm_ver = IWL9000_NVM_VERSION,
@@ -176,7 +176,7 @@ const struct iwl_cfg iwl9260_2ac_cfg = {
176176
const struct iwl_cfg iwl9270_2ac_cfg = {
177177
.name = "Intel(R) Dual Band Wireless AC 9270",
178178
.fw_name_pre = IWL9260A_FW_PRE,
179-
.fw_name_pre_next_step = IWL9260B_FW_PRE,
179+
.fw_name_pre_b_or_c_step = IWL9260B_FW_PRE,
180180
IWL_DEVICE_9000,
181181
.ht_params = &iwl9000_ht_params,
182182
.nvm_ver = IWL9000_NVM_VERSION,
@@ -186,8 +186,8 @@ const struct iwl_cfg iwl9270_2ac_cfg = {
186186

187187
const struct iwl_cfg iwl9460_2ac_cfg = {
188188
.name = "Intel(R) Dual Band Wireless AC 9460",
189-
.fw_name_pre = IWL9000_FW_PRE,
190-
.fw_name_pre_rf_next_step = IWL9000RFB_FW_PRE,
189+
.fw_name_pre = IWL9260A_FW_PRE,
190+
.fw_name_pre_b_or_c_step = IWL9260B_FW_PRE,
191191
IWL_DEVICE_9000,
192192
.ht_params = &iwl9000_ht_params,
193193
.nvm_ver = IWL9000_NVM_VERSION,
@@ -198,8 +198,8 @@ const struct iwl_cfg iwl9460_2ac_cfg = {
198198

199199
const struct iwl_cfg iwl9560_2ac_cfg = {
200200
.name = "Intel(R) Dual Band Wireless AC 9560",
201-
.fw_name_pre = IWL9000_FW_PRE,
202-
.fw_name_pre_rf_next_step = IWL9000RFB_FW_PRE,
201+
.fw_name_pre = IWL9260A_FW_PRE,
202+
.fw_name_pre_b_or_c_step = IWL9260B_FW_PRE,
203203
IWL_DEVICE_9000,
204204
.ht_params = &iwl9000_ht_params,
205205
.nvm_ver = IWL9000_NVM_VERSION,

drivers/net/wireless/intel/iwlwifi/iwl-config.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -276,10 +276,10 @@ struct iwl_pwr_tx_backoff {
276276
* @fw_name_pre: Firmware filename prefix. The api version and extension
277277
* (.ucode) will be added to filename before loading from disk. The
278278
* filename is constructed as fw_name_pre<api>.ucode.
279-
* @fw_name_pre_next_step: same as @fw_name_pre, only for next step
279+
* @fw_name_pre_b_or_c_step: same as @fw_name_pre, only for b or c steps
280280
* (if supported)
281-
* @fw_name_pre_rf_next_step: same as @fw_name_pre_next_step, only for rf next
282-
* step. Supported only in integrated solutions.
281+
* @fw_name_pre_rf_next_step: same as @fw_name_pre_b_or_c_step, only for rf
282+
* next step. Supported only in integrated solutions.
283283
* @ucode_api_max: Highest version of uCode API supported by driver.
284284
* @ucode_api_min: Lowest version of uCode API supported by driver.
285285
* @max_inst_size: The maximal length of the fw inst section
@@ -330,7 +330,7 @@ struct iwl_cfg {
330330
/* params specific to an individual device within a device family */
331331
const char *name;
332332
const char *fw_name_pre;
333-
const char *fw_name_pre_next_step;
333+
const char *fw_name_pre_b_or_c_step;
334334
const char *fw_name_pre_rf_next_step;
335335
/* params not likely to change within a device family */
336336
const struct iwl_base_params *base_params;

drivers/net/wireless/intel/iwlwifi/iwl-drv.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,8 +216,9 @@ static int iwl_request_firmware(struct iwl_drv *drv, bool first)
216216
const char *fw_pre_name;
217217

218218
if (drv->trans->cfg->device_family == IWL_DEVICE_FAMILY_9000 &&
219-
CSR_HW_REV_STEP(drv->trans->hw_rev) == SILICON_B_STEP)
220-
fw_pre_name = cfg->fw_name_pre_next_step;
219+
(CSR_HW_REV_STEP(drv->trans->hw_rev) == SILICON_B_STEP ||
220+
CSR_HW_REV_STEP(drv->trans->hw_rev) == SILICON_C_STEP))
221+
fw_pre_name = cfg->fw_name_pre_b_or_c_step;
221222
else if (drv->trans->cfg->integrated &&
222223
CSR_HW_RFID_STEP(drv->trans->hw_rf_id) == SILICON_B_STEP &&
223224
cfg->fw_name_pre_rf_next_step)

0 commit comments

Comments
 (0)