Commit 82a08d0c authored by Johannes Berg's avatar Johannes Berg Committed by Kalle Valo

iwlwifi: pnvm: don't try to load after failures

If loading the PNVM file failed on the first try during the
interface up, the file is unlikely to show up later, and we
already don't try to reload it if it changes, so just don't
try loading it again and again.

This also fixes some issues where we may try to load it at
resume time, which may not be possible yet.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Fixes: 69725928 ("iwlwifi: read and parse PNVM file")
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20210115130252.5ac6828a0bbe.I7d308358b21d3c0c84b1086999dbc7267f86e219@changeid
parent 1c58bed4
...@@ -232,7 +232,7 @@ int iwl_pnvm_load(struct iwl_trans *trans, ...@@ -232,7 +232,7 @@ int iwl_pnvm_load(struct iwl_trans *trans,
if (!trans->sku_id[0] && !trans->sku_id[1] && !trans->sku_id[2]) if (!trans->sku_id[0] && !trans->sku_id[1] && !trans->sku_id[2])
return 0; return 0;
/* load from disk only if we haven't done it before */ /* load from disk only if we haven't done it (or tried) before */
if (!trans->pnvm_loaded) { if (!trans->pnvm_loaded) {
const struct firmware *pnvm; const struct firmware *pnvm;
char pnvm_name[64]; char pnvm_name[64];
...@@ -253,6 +253,12 @@ int iwl_pnvm_load(struct iwl_trans *trans, ...@@ -253,6 +253,12 @@ int iwl_pnvm_load(struct iwl_trans *trans,
if (ret) { if (ret) {
IWL_DEBUG_FW(trans, "PNVM file %s not found %d\n", IWL_DEBUG_FW(trans, "PNVM file %s not found %d\n",
pnvm_name, ret); pnvm_name, ret);
/*
* Pretend we've loaded it - at least we've tried and
* couldn't load it at all, so there's no point in
* trying again over and over.
*/
trans->pnvm_loaded = true;
} else { } else {
iwl_pnvm_parse(trans, pnvm->data, pnvm->size); iwl_pnvm_parse(trans, pnvm->data, pnvm->size);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment