Baochen Qiang <quic_bqiang@xxxxxxxxxxx> 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 > > Fixes: 5b32b6dd9663 ("ath11k: Remove core PCI references from PCI common code") > Signed-off-by: Baochen Qiang <quic_bqiang@xxxxxxxxxxx> > Tested-by: Manikanta Pubbisetty <quic_mpubbise@xxxxxxxxxxx> Fails to apply, please rebase. error: patch failed: drivers/net/wireless/ath/ath11k/pci.c:888 error: drivers/net/wireless/ath/ath11k/pci.c: patch does not apply stg import: Diff does not apply cleanly Patch set to Changes Requested. -- https://patchwork.kernel.org/project/linux-wireless/patch/20230601033840.2997-1-quic_bqiang@xxxxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches