Jeff Johnson <quic_jjohnson@xxxxxxxxxxx> writes: > On 9/6/2023 6:56 PM, Baochen Qiang wrote: >> Commit 5b32b6dd96633 ("ath11k: Remove core PCI references from >> PCI common code") breaks with one MSI vector because it moves >> affinity setting after IRQ request, see below log: >> [ 1417.278835] ath11k_pci 0000:02:00.0: failed to receive control >> response completion, polling.. >> [ 1418.302829] ath11k_pci 0000:02:00.0: Service connect timeout >> [ 1418.302833] ath11k_pci 0000:02:00.0: failed to connect to HTT: -110 >> [ 1418.303669] ath11k_pci 0000:02:00.0: failed to start core: -110 >> The detail is, if do affinity request after IRQ activated, >> which is done in request_irq(), kernel caches that request and >> returns success directly. Later when a subsequent MHI interrupt is >> fired, kernel will do the real affinity setting work, as a result, >> changs the MSI vector. However at that time host has configured >> old vector to hardware, so host never receives CE or DP interrupts. >> Fix it by setting affinity before registering MHI controller >> where host is, for the first time, doing IRQ request. >> Tested-on: WCN6855 hw2.0 PCI >> WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3 > > Tested-on: WCN6855 hw2.1 PCI > WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23 > Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-01160-QCAMSLSWPLZ-1 I can fix that in the pending branch. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches