params.vdev_id = arvif->vdev_id;
        params.aid = arvif->aid;
        params.bssid = arvif->bssid;
+       if (arvif->vif->mbssid_tx_vif) {
+               params.tx_bssid = ath12k_vif_to_arvif(arvif->vif->mbssid_tx_vif)->bssid;
+               params.nontx_profile_idx = info->bssid_index;
+               params.nontx_profile_cnt = 1 << info->bssid_indicator;
+       }
        ret = ath12k_wmi_vdev_up(arvif->ar, ¶ms);
        if (ret) {
                ath12k_warn(ar->ab, "failed to bring up vdev %d: %i\n",
 {
        struct ath12k_wmi_vdev_up_params params = {};
        struct ath12k_base *ab = ar->ab;
+       struct ieee80211_vif *vif;
        struct ath12k_vif *arvif;
        int ret;
        int i;
        /* TODO: Update ar->rx_channel */
 
        for (i = 0; i < n_vifs; i++) {
-               arvif = ath12k_vif_to_arvif(vifs[i].vif);
+               vif = vifs[i].vif;
+               arvif = ath12k_vif_to_arvif(vif);
 
                if (WARN_ON(!arvif->is_started))
                        continue;
                        ath12k_warn(ab, "failed to update bcn tmpl during csa: %d\n",
                                    ret);
 
+               memset(¶ms, 0, sizeof(params));
                params.vdev_id = arvif->vdev_id;
                params.aid = arvif->aid;
                params.bssid = arvif->bssid;
+               if (vif->mbssid_tx_vif) {
+                       params.tx_bssid = ath12k_vif_to_arvif(vif->mbssid_tx_vif)->bssid;
+                       params.nontx_profile_idx = vif->bss_conf.bssid_index;
+                       params.nontx_profile_cnt = 1 << vif->bss_conf.bssid_indicator;
+               }
                ret = ath12k_wmi_vdev_up(arvif->ar, ¶ms);
                if (ret) {
                        ath12k_warn(ab, "failed to bring vdev up %d: %d\n",
 
 
        ether_addr_copy(cmd->vdev_bssid.addr, params->bssid);
 
+       if (params->tx_bssid) {
+               ether_addr_copy(cmd->tx_vdev_bssid.addr, params->tx_bssid);
+               cmd->nontx_profile_idx = cpu_to_le32(params->nontx_profile_idx);
+               cmd->nontx_profile_cnt = cpu_to_le32(params->nontx_profile_cnt);
+       }
+
        ath12k_dbg(ar->ab, ATH12K_DBG_WMI,
                   "WMI mgmt vdev up id 0x%x assoc id %d bssid %pM\n",
                   params->vdev_id, params->aid, params->bssid);