OpenCloudOS-Kernel/drivers/net/wireless/ath/ath11k
Kalle Valo 77d7e87128 ath11k: fix AP mode for QCA6390
Commit c134d1f8c4 ("ath11k: Handle errors if peer creation fails") completely
broke AP mode on QCA6390:

kernel: [  151.230734] ath11k_pci 0000:06:00.0: failed to create peer after vdev start delay: -22
wpa_supplicant[2307]: Failed to set beacon parameters
wpa_supplicant[2307]: Interface initialization failed
wpa_supplicant[2307]: wlan0: interface state UNINITIALIZED->DISABLED
wpa_supplicant[2307]: wlan0: AP-DISABLED
wpa_supplicant[2307]: wlan0: Unable to setup interface.
wpa_supplicant[2307]: Failed to initialize AP interface

This was because commit c134d1f8c4 ("ath11k: Handle errors if peer creation
fails") added error handling for ath11k_peer_create(), which had been failing
all along but was unnoticed due to the missing error handling. The actual bug
was introduced already in commit aa44b2f3ec ("ath11k: start vdev if a bss peer is
already created").

ath11k_peer_create() was failing because for AP mode the peer is created
already earlier op_add_interface() and we should skip creation here, but the
check for modes was wrong.  Fixing that makes AP mode work again.

This shouldn't affect IPQ8074 nor QCN9074 as they have hw_params.vdev_start_delay disabled.

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

Fixes: c134d1f8c4 ("ath11k: Handle errors if peer creation fails")
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1614006849-25764-1-git-send-email-kvalo@codeaurora.org
2021-02-24 08:38:11 +02:00
..
Kconfig ath11k: use remoteproc only with AHB devices 2020-08-17 13:07:17 +03:00
Makefile ath11k: implement WoW enable and wakeup commands 2020-12-12 06:41:37 +02:00
ahb.c ath11k: fix rmmod failure if qmi sequence fails 2020-12-09 09:00:29 +02:00
ahb.h ath11k: Remove rproc references from common core layer 2020-09-21 16:11:28 +03:00
ce.c ath11k: implement suspend for QCA6390 PCI devices 2020-12-12 06:41:44 +02:00
ce.h ath11k: implement suspend for QCA6390 PCI devices 2020-12-12 06:41:44 +02:00
core.c ath11k: Fix error code in ath11k_core_suspend() 2020-12-17 08:48:07 +02:00
core.h ath11k: Update tx descriptor search index properly 2021-02-09 09:22:52 +02:00
dbring.c ath11k: hal: create hw_srng_config dynamically 2020-08-17 13:18:38 +03:00
dbring.h ath11k: Add direct buffer ring support 2020-06-15 17:21:52 +03:00
debug.c ath11k: refactor debugfs code into debugfs.c 2020-09-22 10:41:41 +03:00
debug.h ath11k: refactor debugfs code into debugfs.c 2020-09-22 10:41:41 +03:00
debugfs.c ath11k: fix rmmod failure if qmi sequence fails 2020-12-09 09:00:29 +02:00
debugfs.h ath11k: fix undefined reference to 'ath11k_debugfs_htt_ext_stats_handler' 2020-09-25 19:09:48 +03:00
debugfs_htt_stats.c ath11k: add support to configure spatial reuse parameter set 2021-02-11 08:48:36 +02:00
debugfs_htt_stats.h ath11k: add support to configure spatial reuse parameter set 2021-02-11 08:48:36 +02:00
debugfs_sta.c ath11k: debugfs: move some function declarations to correct header files 2020-09-22 10:41:49 +03:00
debugfs_sta.h ath11k: debugfs: move some function declarations to correct header files 2020-09-22 10:41:49 +03:00
dp.c ath11k: implement suspend for QCA6390 PCI devices 2020-12-12 06:41:44 +02:00
dp.h ath11k: implement suspend for QCA6390 PCI devices 2020-12-12 06:41:44 +02:00
dp_rx.c ath11k: Update tx descriptor search index properly 2021-02-09 09:22:52 +02:00
dp_rx.h ath11k: dp: stop rx pktlog before suspend 2020-12-12 06:41:31 +02:00
dp_tx.c ath11k: Update tx descriptor search index properly 2021-02-09 09:22:52 +02:00
dp_tx.h
hal.c ath11k: remove unnecessary casts to u32 2020-10-01 22:33:20 +03:00
hal.h ath11k: start a timer to update TCL HP 2020-10-01 22:33:09 +03:00
hal_desc.h ath11k: Fix the hal descriptor mask 2020-11-07 10:05:02 +02:00
hal_rx.c ath11k: start a timer to update REO cmd ring 2020-10-01 22:33:12 +03:00
hal_rx.h ath11k: add packet log support for QCA6390 2020-10-01 22:32:04 +03:00
hal_tx.c ath11k: Update tx descriptor search index properly 2021-02-09 09:22:52 +02:00
hal_tx.h ath11k: Update tx descriptor search index properly 2021-02-09 09:22:52 +02:00
hif.h ath11k: hif: add ce irq enable and disable functions 2020-12-12 06:41:41 +02:00
htc.c ath11k: set credit_update flag for flow controlled ep only 2020-12-12 06:41:34 +02:00
htc.h ath11k: htc: implement suspend handling 2020-12-12 06:41:28 +02:00
hw.c ath11k: fix wmi init configuration 2020-11-07 10:05:37 +02:00
hw.h ath11k: implement suspend for QCA6390 PCI devices 2020-12-12 06:41:44 +02:00
mac.c ath11k: fix AP mode for QCA6390 2021-02-24 08:38:11 +02:00
mac.h ath11k: add support to configure spatial reuse parameter set 2021-02-11 08:48:36 +02:00
mhi.c ath11k: mhi: hook suspend and resume 2020-12-12 06:41:16 +02:00
mhi.h ath11k: mhi: hook suspend and resume 2020-12-12 06:41:16 +02:00
pci.c ath11k: pci: remove experimental warning 2021-02-11 20:27:04 +02:00
pci.h ath11k: pci: disable ASPM L0sLs before downloading firmware 2020-12-18 11:03:50 +02:00
peer.c ath11k: Update tx descriptor search index properly 2021-02-09 09:22:52 +02:00
peer.h ath11k: Update tx descriptor search index properly 2021-02-09 09:22:52 +02:00
qmi.c ath11k: qmi: use %pad to format dma_addr_t 2021-02-24 08:37:13 +02:00
qmi.h ath11k: qmi: try to allocate a big block of DMA memory first 2020-12-18 11:02:46 +02:00
reg.c cfg80211: avoid holding the RTNL when calling the driver 2021-01-26 11:55:50 +01:00
reg.h ath11k: Add new dfs region name for JP 2020-11-07 10:06:12 +02:00
rx_desc.h ath11k: remove repeated words in comments and warnings 2020-10-28 15:44:04 +02:00
spectral.c ath11k: make relay callbacks const 2020-12-15 22:46:18 -08:00
spectral.h ath11k: add support for spectral scan 2020-06-15 17:21:54 +03:00
testmode.c ath11k: remove repeated words in comments and warnings 2020-10-28 15:44:04 +02:00
testmode.h
testmode_i.h
thermal.c net: ath11k: constify ath11k_thermal_ops 2020-08-26 16:21:17 -07:00
thermal.h ath11k: fix compiler warnings without CONFIG_THERMAL 2020-04-06 17:21:23 +03:00
trace.c
trace.h ath11k: remove h from printk format specifier 2021-02-04 09:39:10 +02:00
wmi.c ath11k: add support to configure spatial reuse parameter set 2021-02-11 08:48:36 +02:00
wmi.h ath11k: add support to configure spatial reuse parameter set 2021-02-11 08:48:36 +02:00
wow.c ath11k: implement WoW enable and wakeup commands 2020-12-12 06:41:37 +02:00
wow.h ath11k: implement WoW enable and wakeup commands 2020-12-12 06:41:37 +02:00