]> www.infradead.org Git - users/hch/misc.git/commitdiff
wifi: iwlwifi: pcie: remember when interrupts are disabled
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Thu, 28 Aug 2025 08:25:57 +0000 (11:25 +0300)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Sun, 31 Aug 2025 11:39:26 +0000 (14:39 +0300)
trans_pcie::fh_mask and hw_mask indicates what are the interrupts are
currently enabled (unmasked).
When we disable all interrupts, those should be set to 0, so if, for
some reason, we get an interrupt even though it was disabled, we will
know to ignore.

Reviewed-by: Yedidya Ben Shimol <yedidya.ben.shimol@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20250828111032.e293d6a8385b.I919375e5ad7bd7e4fee4a95ce6ce6978653d6b16@changeid
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h

index b5114fb4eaa21c8c9a172192db74a759d28c7978..79893e2d2701663f2748ffeadaf09d6f52569d52 100644 (file)
@@ -841,6 +841,8 @@ static inline void _iwl_disable_interrupts(struct iwl_trans *trans)
                            trans_pcie->fh_init_mask);
                iwl_write32(trans, CSR_MSIX_HW_INT_MASK_AD,
                            trans_pcie->hw_init_mask);
+               trans_pcie->fh_mask = 0;
+               trans_pcie->hw_mask = 0;
        }
        IWL_DEBUG_ISR(trans, "Disabled interrupts\n");
 }
@@ -1023,6 +1025,7 @@ static inline void iwl_enable_rfkill_int(struct iwl_trans *trans)
        } else {
                iwl_write32(trans, CSR_MSIX_FH_INT_MASK_AD,
                            trans_pcie->fh_init_mask);
+               trans_pcie->fh_mask = 0;
                iwl_enable_hw_int_msk_msix(trans,
                                           MSIX_HW_INT_CAUSES_REG_RF_KILL);
        }