iwlwifi: mvm: retry init flow if failed
authorMordechay Goodstein <mordechay.goodstein@intel.com>
Wed, 10 Nov 2021 13:01:59 +0000 (15:01 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 22 Nov 2021 18:38:17 +0000 (20:38 +0200)
commit5283dd677e52af9db6fe6ad11b2f12220d519d0c
tree0a1b0126b5642853f9bb00a0ef71f4386e898c57
parent1b54403c9cc444b6e0ade1f441efdf1270877ace
iwlwifi: mvm: retry init flow if failed

In some very rare cases the init flow may fail.  In many cases, this is
recoverable, so we can retry.  Implement a loop to retry two more times
after the first attempt failed.

This can happen in two different situations, namely during probe and
during mac80211 start.  For the first case, a simple loop is enough.
For the second case, we need to add a flag to prevent mac80211 from
trying to restart it as well, leaving full control with the driver.

Cc: <stable@vger.kernel.org>
Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20211110150132.57514296ecab.I52a0411774b700bdc7dedb124d8b59bf99456eb2@changeid
drivers/net/wireless/intel/iwlwifi/iwl-drv.c
drivers/net/wireless/intel/iwlwifi/iwl-drv.h
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
drivers/net/wireless/intel/iwlwifi/mvm/ops.c