CC: kbuild-...@lists.01.org CC: linux-ker...@vger.kernel.org TO: Johannes Berg <johannes.b...@intel.com> CC: Luca Coelho <luciano.coe...@intel.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: cfb92440ee71adcc2105b0890bb01ac3cddb8507 commit: e5f1cc98cc1bd07bc6d4f75e34d89db06a2f8bdb iwlwifi: allow rate-limited error messages date: 4 months ago :::::: branch date: 9 hours ago :::::: commit date: 4 months ago config: ia64-randconfig-m031-20220220 (https://download.01.org/0day-ci/archive/20220221/202202211320.vtxl4ied-...@intel.com/config) compiler: ia64-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> Reported-by: Dan Carpenter <dan.carpen...@oracle.com> New smatch warnings: drivers/net/wireless/intel/iwlwifi/pcie/rx.c:1869 iwl_pcie_irq_handler() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/rx.c:2286 iwl_pcie_irq_msix_handler() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/queue/tx.c:1108 iwl_txq_dyn_alloc_dma() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/queue/tx.c:1271 iwl_txq_gen2_init() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:65 iwl_trans_pcie_dump_regs() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:620 iwl_pcie_prepare_card_hw() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:675 iwl_pcie_load_firmware_chunk() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:1331 iwl_trans_pcie_start_fw() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:1540 iwl_trans_pcie_d3_resume() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:1732 iwl_trans_pcie_clear_persistence_bit() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:2077 __iwl_trans_pcie_grab_nic_access() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:2434 iwl_pcie_dump_csr() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/fw/dump.c:162 iwl_fwrt_dump_umac_error_log() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/fw/dump.c:212 iwl_fwrt_dump_lmac_error_log() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/fw/dump.c:358 iwl_fwrt_dump_iml_error_log() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/fw/dump.c:399 iwl_fwrt_dump_fseq_regs() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/fw/dump.c:412 iwl_fwrt_dump_error_logs() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-io.c:315 iwl_dump_rfh() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-io.c:392 iwl_dump_fh() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c:71 iwl_pcie_ctxt_info_dbg_enable() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c:390 iwl_send_phy_db_data() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/drv.c:1230 get_crf_id() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c:121 iwl_pcie_gen2_enqueue_hcmd() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:95 iwl_eeprom_verify_signature() warn: excess argument passed to '__iwl_err' drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:95 iwl_eeprom_verify_signature() warn: excess argument passed to '__iwl_err' drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:123 iwl_nvm_is_otp() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:188 iwl_read_otp_word() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:214 iwl_is_otp_empty() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:326 iwl_read_eeprom() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c:432 iwl_trans_pcie_gen2_start_fw() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1034 iwl_set_hw_address_family_8000() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1076 iwl_set_hw_address() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1171 iwl_parse_nvm_data() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1526 iwl_read_external_nvm() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1688 iwl_get_nvm() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c:874 iwl_dbg_tlv_set_periodic_trigs() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/tx.c:208 iwl_pcie_txq_unmap() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/tx.c:513 iwl_pcie_tx_alloc() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/tx.c:1006 iwl_pcie_enqueue_hcmd() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/fw/dbg.c:1655 iwl_dump_ini_mon_fill_header() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/fw/dbg.c:2698 iwl_fw_dbg_collect_sync() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/fw/dbg.c:2813 iwl_fw_dbg_read_d3_debug_data() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-drv.c:183 iwl_request_firmware() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-drv.c:469 iwl_parse_v1_v2_firmware() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-drv.c:696 iwl_parse_tlv_firmware() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1391 iwl_req_fw_callback() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1692 iwl_drv_start() error: call of '__iwl_err' with no format argument Old smatch warnings: drivers/net/wireless/intel/iwlwifi/pcie/rx.c:1915 iwl_pcie_irq_handler() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/rx.c:2295 iwl_pcie_irq_msix_handler() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/queue/tx.c:1115 iwl_txq_dyn_alloc_dma() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/queue/tx.c:1120 iwl_txq_dyn_alloc_dma() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:69 iwl_trans_pcie_dump_regs() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:75 iwl_trans_pcie_dump_regs() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:82 iwl_trans_pcie_dump_regs() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:1488 iwl_trans_pcie_d3_suspend() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:1570 iwl_trans_pcie_d3_resume() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:2086 __iwl_trans_pcie_grab_nic_access() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/trans.c:2435 iwl_pcie_dump_csr() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/fw/dump.c:228 iwl_fwrt_dump_lmac_error_log() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/fw/dump.c:312 iwl_fwrt_dump_tcm_error_log() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/fw/dump.c:335 iwl_fwrt_dump_tcm_error_log() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c:396 iwl_send_phy_db_data() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c:404 iwl_send_phy_db_data() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c:411 iwl_send_phy_db_data() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c:421 iwl_send_phy_db_data() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c:431 iwl_send_phy_db_data() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/drv.c:1337 iwl_pci_probe() warn: we never enter this loop drivers/net/wireless/intel/iwlwifi/pcie/drv.c:1486 iwl_pci_probe() error: uninitialized symbol 'ret'. drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:196 iwl_read_otp_word() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:218 iwl_is_otp_empty() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:333 iwl_read_eeprom() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1050 iwl_set_hw_address_family_8000() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1562 iwl_read_external_nvm() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:1593 iwl_read_external_nvm() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c:890 iwl_dbg_tlv_set_periodic_trigs() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/tx.c:520 iwl_pcie_tx_alloc() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/pcie/tx.c:528 iwl_pcie_tx_alloc() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/fw/dbg.c:2704 iwl_fw_dbg_collect_sync() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-drv.c:195 iwl_request_firmware() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-drv.c:488 iwl_parse_v1_v2_firmware() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-drv.c:861 iwl_parse_tlv_firmware() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-drv.c:917 iwl_parse_tlv_firmware() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1009 iwl_parse_tlv_firmware() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1195 iwl_parse_tlv_firmware() error: call of '__iwl_err' with no format argument drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1219 iwl_parse_tlv_firmware() error: call of '__iwl_err' with no format argument vim +/__iwl_err +1869 drivers/net/wireless/intel/iwlwifi/pcie/rx.c 3a6e168baa7097 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2017-04-25 1784 2bfb50924c7e92 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2012-12-27 1785 irqreturn_t iwl_pcie_irq_handler(int irq, void *dev_id) ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1786 { 2bfb50924c7e92 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2012-12-27 1787 struct iwl_trans *trans = dev_id; 20d3b6475226fb drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c Johannes Berg 2012-05-16 1788 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); 20d3b6475226fb drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c Johannes Berg 2012-05-16 1789 struct isr_statistics *isr_stats = &trans_pcie->isr_stats; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1790 u32 inta = 0; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1791 u32 handled = 0; 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 1792 bool polling = false; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1793 2bfb50924c7e92 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2012-12-27 1794 lock_map_acquire(&trans->sync_cmd_lockdep_map); 2bfb50924c7e92 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2012-12-27 1795 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 1796 spin_lock_bh(&trans_pcie->irq_lock); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1797 0fec954249b553 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1798 /* dram interrupt table not set yet, 0fec954249b553 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1799 * use legacy interrupt. 0fec954249b553 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1800 */ 0fec954249b553 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1801 if (likely(trans_pcie->use_ict)) 7117c000c83700 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1802 inta = iwl_pcie_int_cause_ict(trans); 0fec954249b553 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1803 else 7117c000c83700 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1804 inta = iwl_pcie_int_cause_non_ict(trans); 0fec954249b553 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1805 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1806 if (iwl_have_debug_level(IWL_DL_ISR)) { 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1807 IWL_DEBUG_ISR(trans, 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1808 "ISR inta 0x%08x, enabled 0x%08x(sw), enabled(hw) 0x%08x, fh 0x%08x\n", 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1809 inta, trans_pcie->inta_mask, 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1810 iwl_read32(trans, CSR_INT_MASK), 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1811 iwl_read32(trans, CSR_FH_INT_STATUS)); 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1812 if (inta & (~trans_pcie->inta_mask)) 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1813 IWL_DEBUG_ISR(trans, 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1814 "We got a masked interrupt (0x%08x)\n", 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1815 inta & (~trans_pcie->inta_mask)); 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1816 } 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1817 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1818 inta &= trans_pcie->inta_mask; 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1819 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1820 /* 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1821 * Ignore interrupt if there's nothing in NIC to service. 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1822 * This may be due to IRQ shared with another device, 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1823 * or due to sporadic interrupts thrown from our NIC. 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1824 */ 7117c000c83700 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1825 if (unlikely(!inta)) { 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1826 IWL_DEBUG_ISR(trans, "Ignore interrupt, inta == 0\n"); 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1827 /* 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1828 * Re-enable interrupts here since we don't 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1829 * have anything to service 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1830 */ 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1831 if (test_bit(STATUS_INT_ENABLED, &trans->status)) f16c3ebfa64fdf drivers/net/wireless/intel/iwlwifi/pcie/rx.c Emmanuel Grumbach 2016-06-13 1832 _iwl_enable_interrupts(trans); 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 1833 spin_unlock_bh(&trans_pcie->irq_lock); 7117c000c83700 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1834 lock_map_release(&trans->sync_cmd_lockdep_map); 7117c000c83700 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1835 return IRQ_NONE; 7117c000c83700 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1836 } 7117c000c83700 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1837 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1838 if (unlikely(inta == 0xFFFFFFFF || (inta & 0xFFFFFFF0) == 0xa5a5a5a0)) { 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1839 /* 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1840 * Hardware disappeared. It might have 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1841 * already raised an interrupt. 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1842 */ 7ba1faa45f5d1e drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1843 IWL_WARN(trans, "HARDWARE GONE?? INTA == 0x%08x\n", inta); 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 1844 spin_unlock_bh(&trans_pcie->irq_lock); 7117c000c83700 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1845 goto out; a0f337cc3592b8 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1846 } a0f337cc3592b8 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1847 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1848 /* Ack/clear/reset pending uCode interrupts. ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1849 * Note: Some bits in CSR_INT are "OR" of bits in CSR_FH_INT_STATUS, ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1850 */ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1851 /* There is a hardware bug in the interrupt mask function that some ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1852 * interrupts (i.e. CSR_INT_BIT_SCD) can still be generated even if ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1853 * they are disabled in the CSR_INT_MASK register. Furthermore the ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1854 * ICT interrupt handling mechanism has another bug that might cause ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1855 * these unmasked interrupts fail to be detected. We workaround the ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1856 * hardware bugs here by ACKing all the possible interrupts so that ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1857 * interrupt coalescing can still be achieved. ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1858 */ 7117c000c83700 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2013-12-11 1859 iwl_write32(trans, CSR_INT, inta | ~trans_pcie->inta_mask); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1860 51cd53ad120f33 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2013-06-12 1861 if (iwl_have_debug_level(IWL_DL_ISR)) 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1862 IWL_DEBUG_ISR(trans, "inta 0x%08x, enabled 0x%08x\n", 51cd53ad120f33 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2013-06-12 1863 inta, iwl_read32(trans, CSR_INT_MASK)); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1864 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 1865 spin_unlock_bh(&trans_pcie->irq_lock); b49ba04a3a0382 drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c Johannes Berg 2012-01-19 1866 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1867 /* Now service all interrupt bits discovered above. */ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1868 if (inta & CSR_INT_BIT_HW_ERR) { 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 @1869 IWL_ERR(trans, "Hardware error detected. Restarting.\n"); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1870 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1871 /* Tell the device to stop sending interrupts */ 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1872 iwl_disable_interrupts(trans); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1873 1f7b6172db86e9 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1874 isr_stats->hw++; 990aa6d7b28d26 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2012-11-14 1875 iwl_pcie_irq_handle_error(trans); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1876 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1877 handled |= CSR_INT_BIT_HW_ERR; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1878 2bfb50924c7e92 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2012-12-27 1879 goto out; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1880 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1881 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1882 /* NIC fires this, but we don't use it, redundant with WAKEUP */ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1883 if (inta & CSR_INT_BIT_SCD) { 51cd53ad120f33 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2013-06-12 1884 IWL_DEBUG_ISR(trans, 51cd53ad120f33 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2013-06-12 1885 "Scheduler finished to transmit the frame/frames.\n"); 1f7b6172db86e9 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1886 isr_stats->sch++; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1887 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1888 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1889 /* Alive notification via Rx interrupt will do the real work */ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1890 if (inta & CSR_INT_BIT_ALIVE) { 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1891 IWL_DEBUG_ISR(trans, "Alive interrupt\n"); 1f7b6172db86e9 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1892 isr_stats->alive++; 286ca8eb4d0a97 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Luca Coelho 2019-07-12 1893 if (trans->trans_cfg->gen2) { eda50cde58de73 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Sara Sharon 2016-09-28 1894 /* eda50cde58de73 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Sara Sharon 2016-09-28 1895 * We can restock, since firmware configured eda50cde58de73 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Sara Sharon 2016-09-28 1896 * the RFH eda50cde58de73 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Sara Sharon 2016-09-28 1897 */ eda50cde58de73 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Sara Sharon 2016-09-28 1898 iwl_pcie_rxmq_restock(trans, trans_pcie->rxq); eda50cde58de73 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Sara Sharon 2016-09-28 1899 } ed3e4c6d3cd8f0 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Emmanuel Grumbach 2019-05-20 1900 ed3e4c6d3cd8f0 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Emmanuel Grumbach 2019-05-20 1901 handled |= CSR_INT_BIT_ALIVE; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1902 } 51cd53ad120f33 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2013-06-12 1903 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1904 /* Safely ignore these bits for debug checks below */ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1905 inta &= ~(CSR_INT_BIT_SCD | CSR_INT_BIT_ALIVE); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1906 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1907 /* HW RF KILL switch toggled */ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1908 if (inta & CSR_INT_BIT_RF_KILL) { 3a6e168baa7097 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2017-04-25 1909 iwl_pcie_handle_rfkill_irq(trans); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1910 handled |= CSR_INT_BIT_RF_KILL; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1911 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1912 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1913 /* Chip got too hot and stopped itself */ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1914 if (inta & CSR_INT_BIT_CT_KILL) { 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1915 IWL_ERR(trans, "Microcode CT kill error detected.\n"); 1f7b6172db86e9 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1916 isr_stats->ctkill++; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1917 handled |= CSR_INT_BIT_CT_KILL; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1918 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1919 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1920 /* Error detected by uCode */ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1921 if (inta & CSR_INT_BIT_SW_ERR) { 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1922 IWL_ERR(trans, "Microcode SW error detected. " ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1923 " Restarting 0x%X.\n", inta); 1f7b6172db86e9 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1924 isr_stats->sw++; 990aa6d7b28d26 drivers/net/wireless/iwlwifi/pcie/rx.c Emmanuel Grumbach 2012-11-14 1925 iwl_pcie_irq_handle_error(trans); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1926 handled |= CSR_INT_BIT_SW_ERR; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1927 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1928 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1929 /* uCode wakes up after power-down sleep */ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1930 if (inta & CSR_INT_BIT_WAKEUP) { 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1931 IWL_DEBUG_ISR(trans, "Wakeup interrupt\n"); 5d63f926d119ff drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2014-02-27 1932 iwl_pcie_rxq_check_wrptr(trans); ea68f46070c7ba drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2014-02-27 1933 iwl_pcie_txq_check_wrptrs(trans); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1934 1f7b6172db86e9 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1935 isr_stats->wakeup++; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1936 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1937 handled |= CSR_INT_BIT_WAKEUP; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1938 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1939 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1940 /* All uCode command responses, including Tx command responses, ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1941 * Rx "responses" (frame-received notification), and other ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1942 * notifications from uCode come through here*/ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1943 if (inta & (CSR_INT_BIT_FH_RX | CSR_INT_BIT_SW_RX | ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1944 CSR_INT_BIT_RX_PERIODIC)) { 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1945 IWL_DEBUG_ISR(trans, "Rx interrupt\n"); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1946 if (inta & (CSR_INT_BIT_FH_RX | CSR_INT_BIT_SW_RX)) { ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1947 handled |= (CSR_INT_BIT_FH_RX | CSR_INT_BIT_SW_RX); 1042db2af183b9 drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c Emmanuel Grumbach 2012-01-03 1948 iwl_write32(trans, CSR_FH_INT_STATUS, ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1949 CSR_FH_INT_RX_MASK); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1950 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1951 if (inta & CSR_INT_BIT_RX_PERIODIC) { ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1952 handled |= CSR_INT_BIT_RX_PERIODIC; 1042db2af183b9 drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c Emmanuel Grumbach 2012-01-03 1953 iwl_write32(trans, 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1954 CSR_INT, CSR_INT_BIT_RX_PERIODIC); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1955 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1956 /* Sending RX interrupt require many steps to be done in the ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1957 * the device: ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1958 * 1- write interrupt to current index in ICT table. ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1959 * 2- dma RX frame. ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1960 * 3- update RX shared data to indicate last write index. ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1961 * 4- send interrupt. ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1962 * This could lead to RX race, driver could receive RX interrupt ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1963 * but the shared data changes does not reflect this; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1964 * periodic interrupt will detect any dangling Rx activity. ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1965 */ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1966 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1967 /* Disable periodic interrupt; we use it as just a one-shot. */ 1042db2af183b9 drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c Emmanuel Grumbach 2012-01-03 1968 iwl_write8(trans, CSR_INT_PERIODIC_REG, ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1969 CSR_INT_PERIODIC_DIS); 6379103e896a5e drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2012-09-06 1970 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1971 /* ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1972 * Enable periodic interrupt in 8 msec only if we received ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1973 * real RX interrupt (instead of just periodic int), to catch ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1974 * any dangling Rx interrupt. If it was just the periodic ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1975 * interrupt, there was no dangling Rx activity, and no need ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1976 * to extend the periodic interrupt; one-shot is enough. ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1977 */ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1978 if (inta & (CSR_INT_BIT_FH_RX | CSR_INT_BIT_SW_RX)) 1042db2af183b9 drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c Emmanuel Grumbach 2012-01-03 1979 iwl_write8(trans, CSR_INT_PERIODIC_REG, ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1980 CSR_INT_PERIODIC_ENA); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1981 1f7b6172db86e9 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1982 isr_stats->rx++; f14d6b39c0b351 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2014-03-21 1983 f14d6b39c0b351 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2014-03-21 1984 local_bh_disable(); 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 1985 if (napi_schedule_prep(&trans_pcie->rxq[0].napi)) { 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 1986 polling = true; 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 1987 __napi_schedule(&trans_pcie->rxq[0].napi); 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 1988 } f14d6b39c0b351 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2014-03-21 1989 local_bh_enable(); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1990 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1991 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1992 /* This "Tx" DMA channel is used only for loading uCode */ ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1993 if (inta & CSR_INT_BIT_FH_TX) { 1042db2af183b9 drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c Emmanuel Grumbach 2012-01-03 1994 iwl_write32(trans, CSR_FH_INT_STATUS, CSR_FH_INT_TX_MASK); 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1995 IWL_DEBUG_ISR(trans, "uCode load interrupt\n"); 1f7b6172db86e9 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 1996 isr_stats->tx++; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1997 handled |= CSR_INT_BIT_FH_TX; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 1998 /* Wake up uCode load routine, now that load is complete */ 13df1aab4aa3cd drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c Johannes Berg 2012-03-06 1999 trans_pcie->ucode_write_complete = true; 13df1aab4aa3cd drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c Johannes Berg 2012-03-06 2000 wake_up(&trans_pcie->ucode_write_waitq); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 2001 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 2002 ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 2003 if (inta & ~handled) { 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 2004 IWL_ERR(trans, "Unhandled INTA bits 0x%08x\n", inta & ~handled); 1f7b6172db86e9 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 2005 isr_stats->unhandled++; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 2006 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 2007 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 2008 if (inta & ~(trans_pcie->inta_mask)) { 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 2009 IWL_WARN(trans, "Disabled INTA bits 0x%08x were pending\n", 0c325769a39455 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-08-25 2010 inta & ~trans_pcie->inta_mask); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 2011 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 2012 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 2013 if (!polling) { 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 2014 spin_lock_bh(&trans_pcie->irq_lock); f16c3ebfa64fdf drivers/net/wireless/intel/iwlwifi/pcie/rx.c Emmanuel Grumbach 2016-06-13 2015 /* only Re-enable all interrupt if disabled by irq */ f16c3ebfa64fdf drivers/net/wireless/intel/iwlwifi/pcie/rx.c Emmanuel Grumbach 2016-06-13 2016 if (test_bit(STATUS_INT_ENABLED, &trans->status)) f16c3ebfa64fdf drivers/net/wireless/intel/iwlwifi/pcie/rx.c Emmanuel Grumbach 2016-06-13 2017 _iwl_enable_interrupts(trans); a6bd005fe92dc1 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Emmanuel Grumbach 2016-01-31 2018 /* we are loading the firmware, enable FH_TX interrupt only */ f16c3ebfa64fdf drivers/net/wireless/intel/iwlwifi/pcie/rx.c Emmanuel Grumbach 2016-06-13 2019 else if (handled & CSR_INT_BIT_FH_TX) a6bd005fe92dc1 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Emmanuel Grumbach 2016-01-31 2020 iwl_enable_fw_load_int(trans); ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 2021 /* Re-enable RF_KILL if it occurred */ 8722c899a07f45 drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c Stanislaw Gruszka 2012-03-07 2022 else if (handled & CSR_INT_BIT_RF_KILL) 8722c899a07f45 drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c Stanislaw Gruszka 2012-03-07 2023 iwl_enable_rfkill_int(trans); ed3e4c6d3cd8f0 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Emmanuel Grumbach 2019-05-20 2024 /* Re-enable the ALIVE / Rx interrupt if it occurred */ ed3e4c6d3cd8f0 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Emmanuel Grumbach 2019-05-20 2025 else if (handled & (CSR_INT_BIT_ALIVE | CSR_INT_BIT_FH_RX)) ed3e4c6d3cd8f0 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Emmanuel Grumbach 2019-05-20 2026 iwl_enable_fw_load_int_ctx_info(trans); 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 2027 spin_unlock_bh(&trans_pcie->irq_lock); 25edc8f259c710 drivers/net/wireless/intel/iwlwifi/pcie/rx.c Johannes Berg 2021-01-17 2028 } 2bfb50924c7e92 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2012-12-27 2029 2bfb50924c7e92 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2012-12-27 2030 out: 2bfb50924c7e92 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2012-12-27 2031 lock_map_release(&trans->sync_cmd_lockdep_map); 2bfb50924c7e92 drivers/net/wireless/iwlwifi/pcie/rx.c Johannes Berg 2012-12-27 2032 return IRQ_HANDLED; ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 2033 } ab697a9f1e73ba drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c Emmanuel Grumbach 2011-07-11 2034 :::::: The code at line 1869 was first introduced by commit :::::: 0c325769a394559941acda83e888a1d9b1ef8b7f iwlagn: move ISR related data to transport layer :::::: TO: Emmanuel Grumbach <emmanuel.grumb...@intel.com> :::::: CC: John W. Linville <linvi...@tuxdriver.com> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org _______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org