wifi: iwlwifi: fail NIC access fast on dead NIC
authorJohannes Berg <johannes.berg@intel.com>
Thu, 21 Sep 2023 08:58:05 +0000 (11:58 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 25 Sep 2023 07:15:00 +0000 (09:15 +0200)
If the NIC is already dead, as detected by the transport then
there's no point to try to grab the NIC access and time out,
we can just fail fast. This may speed up recovery.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230921110726.f3d8498c5a60.I5d0c442a731ca4c00716910d215b4bcde6963a65@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/pcie/trans.c

index 5020ae4..385e152 100644 (file)
@@ -2177,6 +2177,9 @@ bool __iwl_trans_pcie_grab_nic_access(struct iwl_trans *trans)
                   CSR_GP_CNTRL_REG_FLAG_GOING_TO_SLEEP;
        u32 poll = CSR_GP_CNTRL_REG_VAL_MAC_ACCESS_EN;
 
+       if (test_bit(STATUS_TRANS_DEAD, &trans->status))
+               return false;
+
        spin_lock(&trans_pcie->reg_lock);
 
        if (trans_pcie->cmd_hold_nic_awake)