linux_dsm_epyc7002/drivers/net/wireless
Kalle Valo 4d65eb3df0 ath11k: fix AP mode for QCA6390
[ Upstream commit 77d7e87128d4dfb400df4208b2812160e999c165 ]

Commit c134d1f8c436 ("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 c134d1f8c436 ("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 aa44b2f3ecd4 ("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: c134d1f8c436 ("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
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-17 17:06:22 +01:00
..
admtek adm8211: fix error return code in adm8211_probe() 2020-12-30 11:53:40 +01:00
ath ath11k: fix AP mode for QCA6390 2021-03-17 17:06:22 +01:00
atmel
broadcom brcmfmac: Add DMI nvram filename quirk for Voyo winpad A15 tablet 2021-03-07 12:34:11 +01:00
cisco airo: switch from 'pci_' to 'dma_' API 2020-09-16 08:56:43 +03:00
intel iwlwifi: pnvm: increment the pointer before checking the TLV 2021-03-04 11:37:30 +01:00
intersil orinoco: Move context allocation after processing the skb 2020-12-30 11:53:21 +01:00
marvell mwifiex: pcie: skip cancel_work_sync() on reset failure path 2021-03-11 14:17:23 +01:00
mediatek mt76: dma: do not report truncated frames to mac80211 2021-03-17 17:06:13 +01:00
microchip net: wilc1000: clean up resource in error path of init mon interface 2020-09-21 16:02:13 +03:00
quantenna qtnfmac: fix error return code in qtnf_pcie_probe() 2020-12-30 11:53:21 +01:00
ralink
realtek rtlwifi: rise completion at the last step of firmware callback 2021-01-12 20:18:26 +01:00
rsi rsi: Move card interrupt handling to RX thread 2021-03-07 12:34:08 +01:00
st cw1200: fix missing destroy_workqueue() on error in cw1200_init_common 2020-12-30 11:53:21 +01:00
ti wlcore: Fix command execute failure 19 for wl12xx 2021-03-07 12:34:09 +01:00
zydas net: zd1211rw: Remove ZD_ASSERT(in_interrupt()) 2020-09-29 14:02:54 -07:00
Kconfig
mac80211_hwsim.c genetlink: move to smaller ops wherever possible 2020-10-02 19:11:11 -07:00
mac80211_hwsim.h
Makefile
ray_cs.c
ray_cs.h
rayctl.h
rndis_wlan.c
virt_wifi.c
wl3501_cs.c wl3501_cs: Remove unnecessary NULL check 2020-09-29 11:25:30 +03:00
wl3501.h