Commit b0919924 authored by Carl Huang's avatar Carl Huang Committed by Kalle Valo

ath11k: fix AP mode for QCA6390

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: default avatarCarl Huang <cjhuang@codeaurora.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1601399736-3210-3-git-send-email-kvalo@codeaurora.org
parent 616c16a4
...@@ -2994,7 +2994,8 @@ static int ath11k_mac_station_add(struct ath11k *ar, ...@@ -2994,7 +2994,8 @@ static int ath11k_mac_station_add(struct ath11k *ar,
goto free_tx_stats; 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); ret = ath11k_start_vdev_delay(ar->hw, vif);
if (ret) { if (ret) {
ath11k_warn(ab, "failed to delay vdev start: %d\n", 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, ...@@ -5215,7 +5216,8 @@ ath11k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw,
ctx, arvif->vdev_id); ctx, arvif->vdev_id);
/* for QCA6390 bss peer must be created before vdev_start */ /* 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)); memcpy(&arvif->chanctx, ctx, sizeof(*ctx));
mutex_unlock(&ar->conf_mutex); mutex_unlock(&ar->conf_mutex);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment