]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
ath11k: fix AP mode for QCA6390
authorCarl Huang <cjhuang@codeaurora.org>
Tue, 29 Sep 2020 17:15:30 +0000 (20:15 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 1 Oct 2020 19:30:55 +0000 (22:30 +0300)
For QCA6390, station vdev needs to delay startup but not for AP mode. On AP
mode vdev starts up immediately after bss peer is created in chanctx assignment
context.

This patch does not affect IPQ8074 family of devices.

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

Signed-off-by: Carl Huang <cjhuang@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1601399736-3210-3-git-send-email-kvalo@codeaurora.org
drivers/net/wireless/ath/ath11k/mac.c

index 2d8994463b180aab32a9d4128b6ac0906a959635..95d8599be0217cc47325dd9fabef7627858f2f86 100644 (file)
@@ -2994,7 +2994,8 @@ static int ath11k_mac_station_add(struct ath11k *ar,
                goto free_tx_stats;
        }
 
-       if (ab->hw_params.vdev_start_delay) {
+       if (ab->hw_params.vdev_start_delay &&
+           arvif->vdev_type != WMI_VDEV_TYPE_AP) {
                ret = ath11k_start_vdev_delay(ar->hw, vif);
                if (ret) {
                        ath11k_warn(ab, "failed to delay vdev start: %d\n", ret);
@@ -5215,7 +5216,8 @@ ath11k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw,
                   ctx, arvif->vdev_id);
 
        /* for QCA6390 bss peer must be created before vdev_start */
-       if (ab->hw_params.vdev_start_delay) {
+       if (ab->hw_params.vdev_start_delay &&
+           arvif->vdev_type != WMI_VDEV_TYPE_AP) {
                memcpy(&arvif->chanctx, ctx, sizeof(*ctx));
                mutex_unlock(&ar->conf_mutex);
                return 0;