Message ID | 20210525133028.2805615-1-sven@narfation.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 979ebc54cf13bd1e3eb6e21766d208d5de984fb8 |
Delegated to: | Kalle Valo |
Headers | show |
Series | ath11k: send beacon template after vdev_start/restart during csa | expand |
Sven Eckelmann <sven@narfation.org> wrote: > Firmware has added assert if beacon template is received after > vdev_down. Firmware expects beacon template after vdev_start > and before vdev_up. This change is needed to support MBSSID EMA > cases in firmware. > > Hence, Change the sequence in ath11k as expected from firmware. > This new change is not causing any issues with older > firmware. > > Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.5.0.1.r3-00011-QCAHKSWPL_SILICONZ-1 > Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.5.0.1.r4-00008-QCAHKSWPL_SILICONZ-1 > > Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices") > Signed-off-by: Seevalamuthu Mariappan <seevalam@codeaurora.org> > [sven@narfation.org: added tested-on/fixes information] > Signed-off-by: Sven Eckelmann <sven@narfation.org> > Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Patch applied to ath-next branch of ath.git, thanks. 979ebc54cf13 ath11k: send beacon template after vdev_start/restart during csa
diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c index 9d0ff150ec30..eb52332dbe3f 100644 --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c @@ -5379,11 +5379,6 @@ ath11k_mac_update_vif_chan(struct ath11k *ar, if (WARN_ON(!arvif->is_up)) continue; - ret = ath11k_mac_setup_bcn_tmpl(arvif); - if (ret) - ath11k_warn(ab, "failed to update bcn tmpl during csa: %d\n", - ret); - ret = ath11k_mac_vdev_restart(arvif, &vifs[i].new_ctx->def); if (ret) { ath11k_warn(ab, "failed to restart vdev %d: %d\n", @@ -5391,6 +5386,11 @@ ath11k_mac_update_vif_chan(struct ath11k *ar, continue; } + ret = ath11k_mac_setup_bcn_tmpl(arvif); + if (ret) + ath11k_warn(ab, "failed to update bcn tmpl during csa: %d\n", + ret); + ret = ath11k_wmi_vdev_up(arvif->ar, arvif->vdev_id, arvif->aid, arvif->bssid); if (ret) {