aboutsummaryrefslogtreecommitdiff
path: root/lib/timerqueue.c
diff options
context:
space:
mode:
authorKang Yang <quic_kangyang@quicinc.com>2023-12-01 18:09:48 +0200
committerKalle Valo <quic_kvalo@quicinc.com>2023-12-05 17:04:19 +0200
commita3012f206d07fa62b5c2e384cbc3a81a4dbba3c9 (patch)
tree1db3b377a867c6c2183e4e6b458adc703bbf556c /lib/timerqueue.c
parent08d52ba2967898723bf6fc57a9fb5dc0018cc5bc (diff)
wifi: ath12k: set IRQ affinity to CPU0 in case of one MSI vector
With VT-d disabled on Intel platform, ath12k gets only one MSI vector. In that case, ath12k 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, ath12k has no chance to reconfig it to HW srngs during this phase, thus ath12k 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: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 Signed-off-by: Kang Yang <quic_kangyang@quicinc.com> Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20231121021304.12966-8-quic_kangyang@quicinc.com
Diffstat (limited to 'lib/timerqueue.c')
0 files changed, 0 insertions, 0 deletions