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);
                   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;