linux/drivers/net/wireless
Manivannan Sadhasivam 80dc5a2ce5 wifi: ath11k: Clear affinity hint before calling ath11k_pcic_free_irq() in error path
[ Upstream commit 68410c5bd3 ]

If a shared IRQ is used by the driver due to platform limitation, then the
IRQ affinity hint is set right after the allocation of IRQ vectors in
ath11k_pci_alloc_msi(). This does no harm unless one of the functions
requesting the IRQ fails and attempt to free the IRQ. This results in the
below warning:

WARNING: CPU: 7 PID: 349 at kernel/irq/manage.c:1929 free_irq+0x278/0x29c
Call trace:
 free_irq+0x278/0x29c
 ath11k_pcic_free_irq+0x70/0x10c [ath11k]
 ath11k_pci_probe+0x800/0x820 [ath11k_pci]
 local_pci_probe+0x40/0xbc

The warning is due to not clearing the affinity hint before freeing the
IRQs.

So to fix this issue, clear the IRQ affinity hint before calling
ath11k_pcic_free_irq() in the error path. The affinity will be cleared once
again further down the error path due to code organization, but that does
no harm.

Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-05266-QCAHSTSWPLZ_V2_TO_X86-1

Cc: Baochen Qiang <quic_bqiang@quicinc.com>
Fixes: 39564b475a ("wifi: ath11k: fix boot failure with one MSI vector")
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Baochen Qiang <quic_bqiang@quicinc.com>
Link: https://patch.msgid.link/20250225053447.16824-2-manivannan.sadhasivam@linaro.org
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Signed-off-by: Wenshan Lan <jetlan9@163.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-11-24 10:35:55 +01:00
..
admtek wifi: mac80211: inform the low level if drv_stop() is a suspend 2024-06-26 10:25:46 +02:00
ath wifi: ath11k: Clear affinity hint before calling ath11k_pcic_free_irq() in error path 2025-11-24 10:35:55 +01:00
atmel wifi: at76c50x: fix use after free access in at76_disconnect 2025-04-25 10:47:37 +02:00
broadcom wifi: brcmfmac: fix crash while sending Action Frames in standalone AP Mode 2025-11-13 15:33:55 -05:00
intel wifi: iwlwifi: fw: Add ASUS to PPAG and TAS list 2025-11-13 15:34:21 -05:00
intersil wifi: p54: prevent buffer-overflow in p54_rx_eeprom_readback() 2025-06-27 11:11:14 +01:00
marvell wifi: mwifiex: send world regulatory domain to driver 2025-10-15 12:00:08 +02:00
mediatek wifi: mt76: mt7996: fix memory leak on mt7996_mcu_sta_key_tlv error 2025-11-13 15:34:24 -05:00
microchip wifi: wilc1000: avoid buffer overflow in WID string configuration 2025-09-25 11:13:41 +02:00
purelifi wifi: plfxlc: Fix error handling in usb driver probe 2025-08-15 12:13:45 +02:00
quantenna wifi: cfg80211: handle DFS per link 2024-09-06 13:01:05 +02:00
ralink wifi: rt2x00: fix remove callback type mismatch 2025-07-17 18:37:17 +02:00
realtek wifi: rtw89: renew a completion for each H2C command waiting C2H event 2025-11-13 15:34:26 -05:00
rsi wifi: rsi: Remove an unused field in struct rsi_debugfs 2024-09-09 15:30:49 +03:00
silabs wifi: wfx: Fix error handling in wfx_core_init() 2024-12-05 14:01:51 +01:00
st wifi: cw1200: cap SSID length in cw1200_do_join() 2025-09-09 18:58:12 +02:00
ti wifi: wl1251: fix memory leak in wl1251_tx_work 2025-04-25 10:47:37 +02:00
virtual wifi: mac80211_hwsim: Limit destroy_on_close radio removal to netgroup 2025-11-13 15:34:38 -05:00
zydas wifi: zd1211rw: Fix potential NULL pointer dereference in zd_mac_tx_to_dev() 2025-07-17 18:37:16 +02:00
Kconfig wifi: remove orphaned rndis_wlan driver 2023-10-30 19:30:33 +02:00
Makefile wifi: remove orphaned rndis_wlan driver 2023-10-30 19:30:33 +02:00