wifi: iwlwifi: improve tag handling in iwl_request_firmware
We can remove the intermediary string conversion and use drv->fw_index in the final snprintf directly. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://lore.kernel.org/r/20230127002430.175bfffdf2f5.I7ec7a29b2d93a977cb0a39dbcc7c875032eb14b7@changeid Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>pull/938/head
parent
24091f873e
commit
12de5de4d1
|
|
@ -163,7 +163,6 @@ static void iwl_req_fw_callback(const struct firmware *ucode_raw,
|
|||
static int iwl_request_firmware(struct iwl_drv *drv, bool first)
|
||||
{
|
||||
const struct iwl_cfg *cfg = drv->trans->cfg;
|
||||
char tag[8];
|
||||
|
||||
if (drv->trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_9000 &&
|
||||
(drv->trans->hw_rev_step != SILICON_B_STEP &&
|
||||
|
|
@ -174,13 +173,10 @@ static int iwl_request_firmware(struct iwl_drv *drv, bool first)
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (first) {
|
||||
if (first)
|
||||
drv->fw_index = cfg->ucode_api_max;
|
||||
sprintf(tag, "%d", drv->fw_index);
|
||||
} else {
|
||||
else
|
||||
drv->fw_index--;
|
||||
sprintf(tag, "%d", drv->fw_index);
|
||||
}
|
||||
|
||||
if (drv->fw_index < cfg->ucode_api_min) {
|
||||
IWL_ERR(drv, "no suitable firmware found!\n");
|
||||
|
|
@ -200,8 +196,8 @@ static int iwl_request_firmware(struct iwl_drv *drv, bool first)
|
|||
return -ENOENT;
|
||||
}
|
||||
|
||||
snprintf(drv->firmware_name, sizeof(drv->firmware_name), "%s%s.ucode",
|
||||
cfg->fw_name_pre, tag);
|
||||
snprintf(drv->firmware_name, sizeof(drv->firmware_name), "%s%d.ucode",
|
||||
cfg->fw_name_pre, drv->fw_index);
|
||||
|
||||
IWL_DEBUG_FW_INFO(drv, "attempting to load firmware '%s'\n",
|
||||
drv->firmware_name);
|
||||
|
|
|
|||
Loading…
Reference in New Issue