Hi Johannes, On Tue, Jun 11, 2024 at 9:52 AM Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > This warning happens if DMA mapping/allocation returns a page that's not > page-aligned?? > > rxb->page_dma = > dma_map_page(trans->dev, page, rxb->offset, > trans_pcie->rx_buf_bytes, > DMA_FROM_DEVICE); > > (or similar places), where rxb->offset will always be 0 unless > rx_buf_bytes is set to 2048, but that can only happen if the amsdu_size > module parameter is set to 4 (=2k) but that's not even supported any > more? > > Maybe make this WARN_ONCE(...) with a string that has more info on the > addresses. I did as suggested: --- a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c @@ -266,7 +266,8 @@ static void iwl_pcie_rxmq_restock(struct iwl_trans *trans, list_del(&rxb->list); rxb->invalid = false; /* some low bits are expected to be unset (depending on hw) */ - WARN_ON(rxb->page_dma & trans_pcie->supported_dma_mask); + WARN_ONCE(rxb->page_dma & trans_pcie->supported_dma_mask, + "rxb->offset is %d trans_pcie->rx_buf_bytes is %d\n", rxb->offset, trans_pcie->rx_buf_bytes); /* Point to Rx buffer via next RBD in circular buffer */ iwl_pcie_restock_bd(trans, rxq, rxb); rxq->write = (rxq->write + 1) & (rxq->queue_size - 1); -- and this is the result: [ 5.033520] ------------[ cut here ]------------ [ 5.033723] iwlwifi 0000:01:00.0: Detected RF HR B3, rfid=0x10a100 [ 5.038174] rxb->offset is 0 trans_pcie->rx_buf_bytes is 4096 [ 5.038279] WARNING: CPU: 1 PID: 135 at /drivers/net/wireless/intel/iwlwifi/pcie/rx.c:269 iwl_pcie_rxmq_restock.part.0+0x160/0x16c [iwlwifi] [ 5.062764] Modules linked in: iwlmvm(+) mac80211 libarc4 openvswitch nsh nf_conncount nf_nat iwlwifi edt_ft5x06 cfg80211 rfkill fuse nfnetlink ipv6 [ 5.076130] CPU: 1 PID: 135 Comm: irq/203-iwlwifi Not tainted 6.6.32-stable-standard-00002-ga107bd5acba0 #1 [ 5.085889] Hardware name: CompuLab i.MX8MM IoT Gateway (DT) [ 5.091562] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.098537] pc : iwl_pcie_rxmq_restock.part.0+0x160/0x16c [iwlwifi] [ 5.104900] lr : iwl_pcie_rxmq_restock.part.0+0x160/0x16c [iwlwifi] [ 5.111254] sp : ffff80008000bd20 [ 5.114575] x29: ffff80008000bd20 x28: ffff0000c1ab0080 x27: ffff0000c1ab8000 [ 5.121729] x26: dead000000000122 x25: dead000000000100 x24: ffff0000c1ab1e70 [ 5.128884] x23: ffff0000c1ab0080 x22: ffff0000c4e34460 x21: ffff0000c1ab8078 [ 5.136041] x20: ffff0000c4e34470 x19: ffff0000c1ab8000 x18: ffffffffffffffff [ 5.143194] x17: 0000000000000001 x16: 0000000000000000 x15: ffff80008000b8e0 [ 5.150350] x14: 0000000000000000 x13: ffff80008185a15d x12: 625f6675625f7872 [ 5.157506] x11: fffffffffffe0000 x10: 000000000000000a x9 : 0000000000001000 [ 5.164659] x8 : 000000000000000a x7 : 0000000000000004 x6 : 0000000000000000 [ 5.171812] x5 : ffff0000ff76dd48 x4 : 0000000000000000 x3 : 0000000000000027 [ 5.178968] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000c1898000 [ 5.186121] Call trace: [ 5.188573] iwl_pcie_rxmq_restock.part.0+0x160/0x16c [iwlwifi] [ 5.194607] iwl_pcie_rxq_restock+0x40/0x4c [iwlwifi] [ 5.199744] iwl_pcie_rx_handle+0x414/0x884 [iwlwifi] [ 5.204877] iwl_pcie_napi_poll_msix+0x38/0xb0 [iwlwifi] [ 5.210280] __napi_poll+0x38/0x178 [ 5.213790] net_rx_action+0x128/0x270 [ 5.217554] __do_softirq+0x100/0x26c [ 5.221227] ____do_softirq+0x10/0x1c [ 5.224900] call_on_irq_stack+0x24/0x4c [ 5.228834] do_softirq_own_stack+0x1c/0x2c [ 5.233027] do_softirq+0x54/0x6c [ 5.236357] __local_bh_enable_ip+0x8c/0x98 [ 5.240554] iwl_pcie_irq_rx_msix_handler+0x90/0xe8 [iwlwifi] [ 5.246403] irq_thread_fn+0x2c/0xa8 [ 5.249991] irq_thread+0x160/0x248 [ 5.253490] kthread+0x110/0x114 [ 5.256728] ret_from_fork+0x10/0x20 [ 5.260317] ---[ end trace 0000000000000000 ]-- Many other warnings follow: [ 10.724476] ------------[ cut here ]------------ [ 10.724481] Invalid rxb from HW 4085 [ 10.724531] iwlwifi 0000:01:00.0: Microcode SW error detected. Restarting 0x0. [ 10.724601] WARNING: CPU: 1 PID: 135 at /drivers/net/wireless/intel/iwlwifi/pcie/rx.c:1490 iwl_pcie_rx_handle+0x694/0x884 [iwlwifi] [ 10.724681] Modules linked in: caam_jr caamhash_desc caamalg_desc authenc libdes btusb option btrtl usb_wwan btintel usbserial smsc btmtk btbcm bluetooth ecdh_generic ecc smsc95xx usbnet hantro_vpu v4l2_vp9 v4l2_h264 videobuf2_dma_contig videobuf2_memops v4l2_mem2mem videobuf2_v4l2 videobuf2_common imx8m_ddrc videodev etnaviv crct10dif_ce gpu_sched mc at24 fsl_imx8_ddr_perf clk_bd718x7 snvs_pwrkey rtc_snvs caam error pwm_imx27 spi_imx imx_sdma imx8mm_thermal snd_soc_fsl_sai snd_soc_fsl_utils imx_pcm_dma pwm_bl backlight imx_cpufreq_dt iwlmvm mac80211 libarc4 openvswitch nsh nf_conncount nf_nat iwlwifi edt_ft5x06 cfg80211 rfkill fuse nfnetlink ipv6 [ 10.724837] CPU: 1 PID: 135 Comm: irq/203-iwlwifi Tainted: G W 6.6.32-stable-standard-00002-ga107bd5acba0 #1 [ 10.724845] Hardware name: CompuLab i.MX8MM IoT Gateway (DT) [ 10.724849] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 10.724857] pc : iwl_pcie_rx_handle+0x694/0x884 [iwlwifi] [ 10.724923] lr : iwl_pcie_rx_handle+0x694/0x884 [iwlwifi] [ 10.724991] sp : ffff80008000bd80 [ 10.724994] x29: ffff80008000bdf0 x28: ffff0000c1ab0080 x27: ffff0000c1ab8000 [ 10.725004] x26: 000000000000000c x25: ffff0000c1ab1c80 x24: 00000000fffee582 [ 10.725014] x23: 0000000000000001 x22: 0000000000000001 x21: 0000000000000040 [ 10.725024] x20: ffff0000c1ab0080 x19: ffff0000c1ab8078 x18: ffffffffffffffff [ 10.725035] x17: ffff80007e2ab000 x16: ffff800080008000 x15: ffff80008000b940 [ 10.725045] x14: 0000000000000000 x13: ffff80008185f804 x12: 206278722064696c [ 10.725055] x11: fffffffffffe0000 x10: 000000000000000a x9 : 0000000000000ff5 [ 10.725064] x8 : 000000000000000a x7 : 0000000000000004 x6 : 0000000000000000 [ 10.725073] x5 : ffff0000ff76dd48 x4 : 0000000000000000 x3 : 0000000000000027 [ 10.725083] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000c1898000 [ 10.725093] Call trace: [ 10.725096] iwl_pcie_rx_handle+0x694/0x884 [iwlwifi] [ 10.725164] iwl_pcie_napi_poll_msix+0x38/0xb0 [iwlwifi] [ 10.725232] __napi_poll+0x38/0x178 [ 10.725245] net_rx_action+0x128/0x270 [ 10.725254] __do_softirq+0x100/0x26c [ 10.725260] ____do_softirq+0x10/0x1c [ 10.725269] call_on_irq_stack+0x24/0x4c [ 10.725276] do_softirq_own_stack+0x1c/0x2c [ 10.725282] do_softirq+0x54/0x6c [ 10.725293] __local_bh_enable_ip+0x8c/0x98 [ 10.725303] iwl_pcie_irq_rx_msix_handler+0x90/0xe8 [iwlwifi] [ 10.725370] irq_thread_fn+0x2c/0xa8 [ 10.725377] irq_thread+0x160/0x248 [ 10.725384] kthread+0x110/0x114 [ 10.725391] ret_from_fork+0x10/0x20 [ 10.725399] ---[ end trace 0000000000000000 ]--- [ 11.040466] iwlwifi 0000:01:00.0: Start IWL Error Log Dump: [ 11.046122] iwlwifi 0000:01:00.0: Transport status: 0x0000004B, valid: 6 [ 11.046133] iwlwifi 0000:01:00.0: Loaded firmware version: 77.ad46c98b.0 cc-a0-77.ucode [ 11.046140] iwlwifi 0000:01:00.0: 0x00000084 | NMI_INTERRUPT_UNKNOWN [ 11.046146] iwlwifi 0000:01:00.0: 0x00A0A2B0 | trm_hw_status0 [ 11.046152] iwlwifi 0000:01:00.0: 0x00000001 | trm_hw_status1 [ 11.046157] iwlwifi 0000:01:00.0: 0x004F8B7A | branchlink2 [ 11.046162] iwlwifi 0000:01:00.0: 0x004EEC2A | interruptlink1 [ 11.046167] iwlwifi 0000:01:00.0: 0x004EEC2A | interruptlink2 [ 11.046173] iwlwifi 0000:01:00.0: 0x000152DA | data1 [ 11.046178] iwlwifi 0000:01:00.0: 0x01000000 | data2 [ 11.046183] iwlwifi 0000:01:00.0: 0x00000000 | data3 [ 11.046188] iwlwifi 0000:01:00.0: 0x00000000 | beacon time [ 11.046193] iwlwifi 0000:01:00.0: 0x00155CAF | tsf low [ 11.046199] iwlwifi 0000:01:00.0: 0x00000000 | tsf hi [ 11.046204] iwlwifi 0000:01:00.0: 0x00000000 | time gp1 [ 11.046209] iwlwifi 0000:01:00.0: 0x0015B919 | time gp2 [ 11.046214] iwlwifi 0000:01:00.0: 0x00000001 | uCode revision type [ 11.046219] iwlwifi 0000:01:00.0: 0x0000004D | uCode version major [ 11.046224] iwlwifi 0000:01:00.0: 0xAD46C98B | uCode version minor [ 11.046230] iwlwifi 0000:01:00.0: 0x00000340 | hw version [ 11.046235] iwlwifi 0000:01:00.0: 0x00C89000 | board version [ 11.046240] iwlwifi 0000:01:00.0: 0x8035F500 | hcmd [ 11.046246] iwlwifi 0000:01:00.0: 0x20020000 | isr0 [ 11.046251] iwlwifi 0000:01:00.0: 0x00000000 | isr1 [ 11.046256] iwlwifi 0000:01:00.0: 0x08F00002 | isr2 [ 11.046261] iwlwifi 0000:01:00.0: 0x00C0001C | isr3 [ 11.046266] iwlwifi 0000:01:00.0: 0x00000000 | isr4 [ 11.046271] iwlwifi 0000:01:00.0: 0x00000000 | last cmd Id [ 11.046276] iwlwifi 0000:01:00.0: 0x000152DA | wait_event [ 11.046282] iwlwifi 0000:01:00.0: 0x00000000 | l2p_control [ 11.046287] iwlwifi 0000:01:00.0: 0x00010000 | l2p_duration [ 11.046292] iwlwifi 0000:01:00.0: 0x00000000 | l2p_mhvalid [ 11.046297] iwlwifi 0000:01:00.0: 0x00000000 | l2p_addr_match [ 11.046302] iwlwifi 0000:01:00.0: 0x00000009 | lmpm_pmg_sel [ 11.046308] iwlwifi 0000:01:00.0: 0x00000000 | timestamp [ 11.046313] iwlwifi 0000:01:00.0: 0x00000848 | flow_handler [ 11.046367] iwlwifi 0000:01:00.0: Start IWL Error Log Dump: [ 11.046372] iwlwifi 0000:01:00.0: Transport status: 0x0000004B, valid: 7 [ 11.046378] iwlwifi 0000:01:00.0: 0x20000066 | NMI_INTERRUPT_HOST [ 11.046384] iwlwifi 0000:01:00.0: 0x00000000 | umac branchlink1 [ 11.046390] iwlwifi 0000:01:00.0: 0x80455D2E | umac branchlink2 [ 11.276561] iwlwifi 0000:01:00.0: 0x80472CBA | umac interruptlink1 [ 11.276572] iwlwifi 0000:01:00.0: 0x80472CBA | umac interruptlink2 [ 11.276577] iwlwifi 0000:01:00.0: 0x01000000 | umac data1 [ 11.276583] iwlwifi 0000:01:00.0: 0x80472CBA | umac data2 [ 11.276588] iwlwifi 0000:01:00.0: 0x00000000 | umac data3 [ 11.276593] iwlwifi 0000:01:00.0: 0x0000004D | umac major [ 11.276599] iwlwifi 0000:01:00.0: 0xAD46C98B | umac minor [ 11.276604] iwlwifi 0000:01:00.0: 0x0015B916 | frame pointer [ 11.276609] iwlwifi 0000:01:00.0: 0xC0886260 | stack pointer [ 11.276614] iwlwifi 0000:01:00.0: 0x000801B3 | last host cmd [ 11.276619] iwlwifi 0000:01:00.0: 0x00000000 | isr status reg [ 11.276644] iwlwifi 0000:01:00.0: IML/ROM dump: [ 11.276650] iwlwifi 0000:01:00.0: 0x00000003 | IML/ROM error/state [ 11.276668] iwlwifi 0000:01:00.0: 0x00005B4F | IML/ROM data1 [ 11.276686] iwlwifi 0000:01:00.0: 0x00000080 | IML/ROM WFPM_AUTH_KEY_0 [ 11.276698] iwlwifi 0000:01:00.0: Fseq Registers: [ 11.276706] iwlwifi 0000:01:00.0: 0x60000041 | FSEQ_ERROR_CODE [ 11.276715] iwlwifi 0000:01:00.0: 0x00290021 | FSEQ_TOP_INIT_VERSION [ 11.276724] iwlwifi 0000:01:00.0: 0x00050008 | FSEQ_CNVIO_INIT_VERSION [ 11.276733] iwlwifi 0000:01:00.0: 0x0000A503 | FSEQ_OTP_VERSION [ 11.276742] iwlwifi 0000:01:00.0: 0x80000003 | FSEQ_TOP_CONTENT_VERSION [ 11.276751] iwlwifi 0000:01:00.0: 0x4552414E | FSEQ_ALIVE_TOKEN [ 11.276760] iwlwifi 0000:01:00.0: 0x00100530 | FSEQ_CNVI_ID [ 11.276771] iwlwifi 0000:01:00.0: 0x00000532 | FSEQ_CNVR_ID [ 11.276782] iwlwifi 0000:01:00.0: 0x00100530 | CNVI_AUX_MISC_CHIP [ 11.276793] iwlwifi 0000:01:00.0: 0x00000532 | CNVR_AUX_MISC_CHIP [ 11.276804] iwlwifi 0000:01:00.0: 0x05B0905B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM [ 11.276815] iwlwifi 0000:01:00.0: 0x0000025B | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR [ 11.276824] iwlwifi 0000:01:00.0: 0x00050008 | FSEQ_PREV_CNVIO_INIT_VERSION [ 11.276833] iwlwifi 0000:01:00.0: 0x00290021 | FSEQ_WIFI_FSEQ_VERSION [ 11.276842] iwlwifi 0000:01:00.0: 0x00290021 | FSEQ_BT_FSEQ_VERSION [ 11.276851] iwlwifi 0000:01:00.0: 0x00000000 | FSEQ_CLASS_TP_VERSION [ 11.276870] iwlwifi 0000:01:00.0: UMAC CURRENT PC: 0x804727d0 [ 11.475114] iwlwifi 0000:01:00.0: LMAC1 CURRENT PC: 0xd0 [ 11.475165] iwlwifi 0000:01:00.0: Starting mac, retry will be triggered anyway [ 11.475202] iwlwifi 0000:01:00.0: FW error in SYNC CMD RSS_CONFIG_CMD [ 11.475213] CPU: 3 PID: 369 Comm: systemd-network Tainted: G W 6.6.32-stable-standard-00002-ga107bd5acba0 #1 [ 11.475223] Hardware name: CompuLab i.MX8MM IoT Gateway (DT) [ OK ] Reached targe[ 11.475227] Call trace: [ 11.475230] dump_backtrace+0x90/0xe8 t Login Prompts. [ 11.475247] show_stack+0x18/0x24 [ 11.475257] dump_stack_lvl+0x48/0x60 [ 11.475267] dump_stack+0x18/0x24 [ 11.475276] iwl_trans_txq_send_hcmd+0x374/0x434 [iwlwifi] [ 11.475371] iwl_trans_send_cmd+0xa4/0x118 [iwlwifi] [ 11.543800] iwl_mvm_send_cmd_pdu+0x48/0x94 [iwlmvm] [ 11.548854] iwl_send_rss_cfg_cmd+0xac/0xdc [iwlmvm] [ 11.553886] iwl_mvm_up+0x664/0x8a0 [iwlmvm] [ 11.558222] __iwl_mvm_mac_start+0x128/0x204 [iwlmvm] [ 11.563340] iwl_mvm_mac_start+0x80/0x194 [iwlmvm] [ 11.568196] drv_start+0x34/0x58 [mac80211] [ 11.572516] ieee80211_do_open+0x2a8/0x6b0 [mac80211] [ 11.577688] ieee80211_open+0x80/0xa8 [mac80211] [ 11.577821] __dev_open+0x100/0x1d8 [ 11.577834] __dev_change_flags+0x194/0x20c [ 11.577844] dev_change_flags+0x24/0x6c [ OK ] Reached targe[ 11.577854] do_setlink+0x27c/0xeb0 t Multi-User System.[ 11.577863] rtnl_setlink+0x120/0x1d8 [ 11.577872] rtnetlink_rcv_msg+0x128/0x378 [ 11.577880] netlink_rcv_skb+0x60/0x130 [ 11.577891] rtnetlink_rcv+0x18/0x24 [ 11.577900] netlink_unicast+0x300/0x36c [ 11.577907] netlink_sendmsg+0x1a8/0x420 [ 11.577914] __sys_sendto+0x118/0x180 [ 11.577922] __arm64_sys_sendto+0x28/0x38 [ 11.577929] invoke_syscall+0x48/0x114 [ 11.577939] el0_svc_common.constprop.0+0xc0/0xe0 [ 11.577948] do_el0_svc+0x1c/0x28 [ 11.577957] el0_svc+0x40/0xe4 [ 11.577966] el0t_64_sync_handler+0x120/0x12c [ 11.577975] el0t_64_sync+0x190/0x194 [ 11.578728] iwlwifi 0000:01:00.0: Failed to configure RSS queues: -5 [ 11.676672] iwlwifi 0000:01:00.0: mac start retry 0