wifi: iwlwifi: improve tag handling in iwl_request_firmware
authorHeiner Kallweit <hkallweit1@gmail.com>
Thu, 26 Jan 2023 22:28:12 +0000 (00:28 +0200)
committerGregory Greenman <gregory.greenman@intel.com>
Mon, 30 Jan 2023 10:59:34 +0000 (12:59 +0200)
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>
drivers/net/wireless/intel/iwlwifi/iwl-drv.c

index ab7065c..4c977ba 100644 (file)
@@ -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);