mt76_connac_mcu_sta_amsdu_tlv(skb, sta, vif);
 
        /* starec he */
-       if (sta->he_cap.has_he)
+       if (sta->he_cap.has_he) {
                mt76_connac_mcu_sta_he_tlv(skb, sta);
+               if (band == NL80211_BAND_6GHZ &&
+                   sta_state == MT76_STA_INFO_STATE_ASSOC) {
+                       struct sta_rec_he_6g_capa *he_6g_capa;
+
+                       tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_HE_6G,
+                                                     sizeof(*he_6g_capa));
+                       he_6g_capa = (struct sta_rec_he_6g_capa *)tlv;
+                       he_6g_capa->capa = sta->he_6ghz_capa.capa;
+               }
+       }
 
        tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_PHY, sizeof(*phy));
        phy = (struct sta_rec_phy *)tlv;
 
        u8 rsv[2];
 } __packed;
 
+struct sta_rec_he_6g_capa {
+       __le16 tag;
+       __le16 len;
+       __le16 capa;
+       u8 rsv[2];
+} __packed;
+
 /* wtbl_rec */
 
 struct wtbl_req_hdr {
                                         sizeof(struct sta_rec_vht) +   \
                                         sizeof(struct sta_rec_uapsd) + \
                                         sizeof(struct sta_rec_amsdu) + \
+                                        sizeof(struct sta_rec_he_6g_capa) + \
                                         sizeof(struct tlv) +           \
                                         MT76_CONNAC_WTBL_UPDATE_MAX_SIZE)
 
        STA_REC_MUEDCA,
        STA_REC_BFEE,
        STA_REC_PHY = 0x15,
+       STA_REC_HE_6G = 0x17,
        STA_REC_MAX_NUM
 };