diff options
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/fw/pnvm.c | 13 | ||||
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/fw/pnvm.h | 20 | 
2 files changed, 22 insertions, 11 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c b/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c index 34e24196c1a3..314ed90c23dd 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c +++ b/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c @@ -230,19 +230,10 @@ static int iwl_pnvm_parse(struct iwl_trans *trans, const u8 *data,  static int iwl_pnvm_get_from_fs(struct iwl_trans *trans, u8 **data, size_t *len)  {  	const struct firmware *pnvm; -	char pnvm_name[64]; +	char pnvm_name[MAX_PNVM_NAME];  	int ret; -	/* -	 * The prefix unfortunately includes a hyphen at the end, so -	 * don't add the dot here... -	 */ -	snprintf(pnvm_name, sizeof(pnvm_name), "%spnvm", -		 trans->cfg->fw_name_pre); - -	/* ...but replace the hyphen with the dot here. */ -	if (strlen(trans->cfg->fw_name_pre) < sizeof(pnvm_name)) -		pnvm_name[strlen(trans->cfg->fw_name_pre) - 1] = '.'; +	iwl_pnvm_get_fs_name(trans, pnvm_name, sizeof(pnvm_name));  	ret = firmware_request_nowarn(&pnvm, pnvm_name, trans->dev);  	if (ret) { diff --git a/drivers/net/wireless/intel/iwlwifi/fw/pnvm.h b/drivers/net/wireless/intel/iwlwifi/fw/pnvm.h index 61d3d4e0b7d9..203c367dd4de 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/pnvm.h +++ b/drivers/net/wireless/intel/iwlwifi/fw/pnvm.h @@ -12,7 +12,27 @@  #define MVM_UCODE_PNVM_TIMEOUT	(HZ / 4) +#define MAX_PNVM_NAME  64 +  int iwl_pnvm_load(struct iwl_trans *trans,  		  struct iwl_notif_wait_data *notif_wait); +static inline +void iwl_pnvm_get_fs_name(struct iwl_trans *trans, +			  u8 *pnvm_name, size_t max_len) +{ +	int pre_len; + +	/* +	 * The prefix unfortunately includes a hyphen at the end, so +	 * don't add the dot here... +	 */ +	snprintf(pnvm_name, max_len, "%spnvm", trans->cfg->fw_name_pre); + +	/* ...but replace the hyphen with the dot here. */ +	pre_len = strlen(trans->cfg->fw_name_pre); +	if (pre_len < max_len && pre_len > 0) +		pnvm_name[pre_len - 1] = '.'; +} +  #endif /* __IWL_PNVM_H__ */  | 
