IWL_DEBUG_ISR(trans, "Enabling interrupts\n");
        set_bit(STATUS_INT_ENABLED, &trans->status);
+       trans_pcie->inta_mask = CSR_INI_SET_MASK;
        iwl_write32(trans, CSR_INT_MASK, trans_pcie->inta_mask);
 }
 
 static inline void iwl_enable_rfkill_int(struct iwl_trans *trans)
 {
+       struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
+
        IWL_DEBUG_ISR(trans, "Enabling rfkill interrupt\n");
-       iwl_write32(trans, CSR_INT_MASK, CSR_INT_BIT_RF_KILL);
+       trans_pcie->inta_mask = CSR_INT_BIT_RF_KILL;
+       iwl_write32(trans, CSR_INT_MASK, trans_pcie->inta_mask);
 }
 
 static inline void iwl_wake_queue(struct iwl_trans *trans,
 
 {
        struct iwl_trans *trans = data;
        struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
-       u32 inta, inta_mask;
+       u32 inta;
 
        lockdep_assert_held(&trans_pcie->irq_lock);
 
         *    back-to-back ISRs and sporadic interrupts from our NIC.
         * If we have something to service, the irq thread will re-enable ints.
         * If we *don't* have something, we'll re-enable before leaving here. */
-       inta_mask = iwl_read32(trans, CSR_INT_MASK);
        iwl_write32(trans, CSR_INT_MASK, 0x00000000);
 
        /* Discover which interrupts are active/pending */
        inta = iwl_read32(trans, CSR_INT);
 
-       if (inta & (~inta_mask)) {
+       if (inta & (~trans_pcie->inta_mask)) {
                IWL_DEBUG_ISR(trans,
                              "We got a masked interrupt (0x%08x)...Ack and ignore\n",
-                             inta & (~inta_mask));
-               iwl_write32(trans, CSR_INT, inta & (~inta_mask));
-               inta &= inta_mask;
+                             inta & (~trans_pcie->inta_mask));
+               iwl_write32(trans, CSR_INT, inta & (~trans_pcie->inta_mask));
+               inta &= trans_pcie->inta_mask;
        }
 
        /* Ignore interrupt if there's nothing in NIC to service.
        if (iwl_have_debug_level(IWL_DL_ISR))
                IWL_DEBUG_ISR(trans,
                              "ISR inta 0x%08x, enabled 0x%08x, fh 0x%08x\n",
-                             inta, inta_mask,
+                             inta, trans_pcie->inta_mask,
                              iwl_read32(trans, CSR_FH_INT_STATUS));
 
        trans_pcie->inta |= inta;