struct rtw89_core_tx_request *tx_req)
 {
        struct ieee80211_vif *vif = tx_req->vif;
+       struct ieee80211_sta *sta = tx_req->sta;
        struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
+       struct rtw89_sta *rtwsta = sta_to_rtwsta_safe(sta);
        struct rtw89_phy_rate_pattern *rate_pattern = &rtwvif->rate_pattern;
        const struct rtw89_chan *chan = rtw89_chan_get(rtwdev, RTW89_SUB_ENTITY_0);
        struct rtw89_tx_desc_info *desc_info = &tx_req->desc_info;
        desc_info->qsel = qsel;
        desc_info->mac_id = rtw89_core_tx_get_mac_id(rtwdev, tx_req);
        desc_info->port = desc_info->hiq ? rtwvif->port : 0;
+       desc_info->er_cap = rtwsta ? rtwsta->er_cap : false;
 
        /* enable wd_info for AMPDU */
        desc_info->en_wd_info = true;
 static __le32 rtw89_build_txwd_info0_v1(struct rtw89_tx_desc_info *desc_info)
 {
        u32 dword = FIELD_PREP(RTW89_TXWD_INFO0_DISDATAFB, desc_info->dis_data_fb) |
-                   FIELD_PREP(RTW89_TXWD_INFO0_MULTIPORT_ID, desc_info->port);
+                   FIELD_PREP(RTW89_TXWD_INFO0_MULTIPORT_ID, desc_info->port) |
+                   FIELD_PREP(RTW89_TXWD_INFO0_DATA_ER, desc_info->er_cap) |
+                   FIELD_PREP(RTW89_TXWD_INFO0_DATA_BW_ER, 0);
 
        return cpu_to_le32(dword);
 }
        rtw89_mac_bf_monitor_calc(rtwdev, sta, false);
 
        if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls) {
+               struct ieee80211_bss_conf *bss_conf = &vif->bss_conf;
+
+               if (bss_conf->he_support &&
+                   !(bss_conf->he_oper.params & IEEE80211_HE_OPERATION_ER_SU_DISABLE))
+                       rtwsta->er_cap = true;
+
                rtw89_btc_ntfy_role_info(rtwdev, rtwvif, rtwsta,
                                         BTC_ROLE_MSTS_STA_CONN_END);
                rtw89_core_get_no_ul_ofdma_htc(rtwdev, &rtwsta->htc_template);
 
 #define RTW89_TXWD_INFO0_DATA_BW GENMASK(29, 28)
 #define RTW89_TXWD_INFO0_GI_LTF GENMASK(27, 25)
 #define RTW89_TXWD_INFO0_DATA_RATE GENMASK(24, 16)
+#define RTW89_TXWD_INFO0_DATA_ER BIT(15)
 #define RTW89_TXWD_INFO0_DISDATAFB BIT(10)
+#define RTW89_TXWD_INFO0_DATA_BW_ER BIT(8)
 #define RTW89_TXWD_INFO0_MULTIPORT_ID GENMASK(6, 4)
 
 /* TX WD INFO DWORD 1 */