--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -2777,9 +2777,9 @@ static void ath11k_peer_assoc_h_phymode(
 		} else if (sta->deflink.vht_cap.vht_supported &&
 			   !ath11k_peer_assoc_h_vht_masked(vht_mcs_mask)) {
 			if (sta->deflink.bandwidth == IEEE80211_STA_RX_BW_40)
-				phymode = MODE_11AC_VHT40;
+				phymode = MODE_11AC_VHT40_2G;
 			else
-				phymode = MODE_11AC_VHT20;
+				phymode = MODE_11AC_VHT20_2G;
 		} else if (sta->deflink.ht_cap.ht_supported &&
 			   !ath11k_peer_assoc_h_ht_masked(ht_mcs_mask)) {
 			if (sta->deflink.bandwidth == IEEE80211_STA_RX_BW_40)
@@ -5615,6 +5615,9 @@ static void ath11k_mac_setup_ht_vht_cap(
 			*ht_cap_info = ht_cap;
 		band->ht_cap = ath11k_create_ht_cap(ar, ht_cap,
 						    rate_cap_rx_chainmask);
+
+		band->vht_cap = ath11k_create_vht_cap(ar, rate_cap_tx_chainmask,
+						      rate_cap_rx_chainmask);
 	}
 
 	if (cap->supported_bands & WMI_HOST_WLAN_5G_CAP &&
--- a/drivers/net/wireless/ath/ath11k/wmi.c
+++ b/drivers/net/wireless/ath/ath11k/wmi.c
@@ -406,6 +406,8 @@ ath11k_pull_mac_phy_cap_svc_ready_ext(st
 	 * handled.
 	 */
 	if (mac_phy_caps->supported_bands & WMI_HOST_WLAN_2G_CAP) {
+		pdev_cap->vht_cap = mac_phy_caps->vht_cap_info_2g;
+		pdev_cap->vht_mcs = mac_phy_caps->vht_supp_mcs_2g;
 		pdev_cap->tx_chain_mask = mac_phy_caps->tx_chain_mask_2g;
 		pdev_cap->rx_chain_mask = mac_phy_caps->rx_chain_mask_2g;
 	}
