Searched hist:e94b07493da31705c3fdd0b2854f0cffe1dacb3c (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/net/wireless/ath/ath11k/ |
H A D | pci.c | diff e94b07493da31705c3fdd0b2854f0cffe1dacb3c Fri Nov 19 07:36:26 CST 2021 Baochen Qiang <bqiang@codeaurora.org> ath11k: Set IRQ affinity to CPU0 in case of one MSI vector
With VT-d disabled on Intel platform, ath11k gets only one MSI vector. In that case, ath11k does not free IRQ when doing suspend, hence the kernel has to migrate it to CPU0 (if it was affine to other CPUs) and allocates a new MSI vector. However, ath11k has no chance to reconfig it to HW srngs during this phase, thus ath11k fails to resume.
This issue can be fixed by setting IRQ affinity to CPU0 before request_irq is called. With such affinity, migration will not happen and thus the vector keeps unchanged during suspend/resume.
Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
Signed-off-by: Baochen Qiang <bqiang@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20211026041732.5323-1-bqiang@codeaurora.org
|