linux/drivers/net/wireless/ath/ath11k
Manivannan Sadhasivam 0fe8010fc5 wifi: ath11k: Flush the posted write after writing to PCIE_SOC_GLOBAL_RESET
ath11k_pci_soc_global_reset() tries to reset the device by writing to the
PCIE_SOC_GLOBAL_RESET register. But it doesn't do a read-back to ensure
that the write gets flushed to the device before the delay.

This may lead to the delay on the host to be insufficient, if the posted
write doesn't reach the device before the delay.

So add a read-back after writing to the PCIE_SOC_GLOBAL_RESET register and
before the delay.

Compile tested only.

Fixes: f3c603d412 ("ath11k: reset MHI during power down and power up")
Reported-by: Alex Williamson <alex@shazbot.org>
Closes: https://lore.kernel.org/linux-pci/20260622160822.09350246@shazbot.org
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Reviewed-by: Raj Kumar Bhagat <raj.bhagat@oss.qualcomm.com>
Link: https://patch.msgid.link/20260623141649.41087-1-manivannan.sadhasivam@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
2026-07-09 07:44:42 -07:00
..
ahb.c wifi: ath11k: fix refcount leak in ath11k_ahb_fw_resources_init() 2026-07-09 07:44:42 -07:00
ahb.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
ce.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
ce.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
cfr.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cfr.h wifi: ath11k: Register handler for CFR capture event 2026-01-15 17:19:38 -08:00
core.c wifi: ath11k: raise max vdevs to 4 on hardware with P2P and dual-station support 2026-06-01 09:58:03 -07:00
core.h wifi: ath11k: add usecase firmware handling based on device compatible 2026-01-30 07:12:37 -08:00
coredump.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
coredump.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
dbring.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
dbring.h wifi: ath11k: Register DBR event handler for CFR data 2026-01-15 17:19:38 -08:00
debug.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
debug.h wifi: ath11k: Register DBR event handler for CFR data 2026-01-15 17:19:38 -08:00
debugfs_htt_stats.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
debugfs_htt_stats.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
debugfs_sta.c wifi: ath11k: Register debugfs for CFR configuration 2026-01-15 17:19:37 -08:00
debugfs_sta.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
debugfs.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
debugfs.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
dp_rx.c wifi: ath11k: fix potential buffer underflow in ath11k_hal_rx_msdu_list_get() 2026-07-09 07:44:42 -07:00
dp_rx.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
dp_tx.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
dp_tx.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
dp.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
dp.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
fw.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
fw.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
hal_desc.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
hal_rx.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
hal_rx.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
hal_tx.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
hal_tx.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
hal.c wifi: ath11k: clear shared SRNG pointer state on restart 2026-05-18 06:47:03 -07:00
hal.h wifi: ath11k: Correctly use "ab" macro parameter 2025-10-23 10:34:06 -07:00
hif.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
htc.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
htc.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
hw.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
hw.h wifi: ath11k: move .max_tx_ring to struct ath11k_hw_hal_params 2026-01-15 17:19:38 -08:00
Kconfig wifi: ath: Unify user-visible "Qualcomm" name 2026-04-30 14:24:07 -07:00
mac.c wifi: ath11k: use kzalloc_flex for struct scan_req_params 2026-06-01 09:58:02 -07:00
mac.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
Makefile wifi: ath11k: Add initialization and deinitialization sequence for CFR module 2026-01-15 17:19:37 -08:00
mhi.c wifi: ath11k: cancel SSR work items during PCI shutdown 2026-04-30 14:24:08 -07:00
mhi.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
p2p.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
p2p.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
pci.c wifi: ath11k: Flush the posted write after writing to PCIE_SOC_GLOBAL_RESET 2026-07-09 07:44:42 -07:00
pci.h wifi: ath11k: Correctly use "ab" macro parameter 2025-10-23 10:34:06 -07:00
pcic.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
pcic.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
peer.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
peer.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
qmi.c wifi: ath11k: fix NULL pointer dereference in ath11k_hal_srng_access_begin 2026-07-02 14:05:01 -07:00
qmi.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
reg.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
reg.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
rx_desc.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
spectral.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
spectral.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
testmode.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
testmode.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
thermal.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
thermal.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
trace.c wifi: ath11k: Add missing include of export.h 2025-06-23 07:28:33 -07:00
trace.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
wmi.c wifi: ath11k: fix error path leaks in some WMI calls 2026-05-12 06:54:20 -07:00
wmi.h wifi: ath11k: use kzalloc_flex for struct scan_req_params 2026-06-01 09:58:02 -07:00
wow.c wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
wow.h wifi: ath11k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00