--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -1568,9 +1568,9 @@ static void ath11k_peer_assoc_h_phymode(
 		} else if (sta->vht_cap.vht_supported &&
 		    !ath11k_peer_assoc_h_vht_masked(vht_mcs_mask)) {
 			if (sta->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->ht_cap.ht_supported &&
 			   !ath11k_peer_assoc_h_ht_masked(ht_mcs_mask)) {
 			if (sta->bandwidth == IEEE80211_STA_RX_BW_40)
@@ -3732,6 +3732,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 && !ar->supports_6ghz) {
--- a/drivers/net/wireless/ath/ath11k/wmi.c
+++ b/drivers/net/wireless/ath/ath11k/wmi.c
@@ -352,6 +352,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;
 	} else if (mac_phy_caps->supported_bands & WMI_HOST_WLAN_5G_CAP) {
