Files
wlan-ap/feeds/ipq807x_v5.4/hostapd/patches/920-sta_driver_data.patch
2023-09-17 06:50:23 +02:00

54 lines
1.6 KiB
Diff

--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -2175,6 +2175,10 @@ struct hostap_sta_driver_data {
u8 tx_mcs;
u8 rx_vht_nss;
u8 tx_vht_nss;
+ u8 rx_hemcs;
+ u8 tx_hemcs;
+ u8 rx_he_nss;
+ u8 tx_he_nss;
};
struct hostapd_sta_add_params {
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -7010,6 +7010,8 @@ static int get_sta_handler(struct nl_msg
[NL80211_RATE_INFO_VHT_MCS] = { .type = NLA_U8 },
[NL80211_RATE_INFO_SHORT_GI] = { .type = NLA_FLAG },
[NL80211_RATE_INFO_VHT_NSS] = { .type = NLA_U8 },
+ [NL80211_RATE_INFO_HE_NSS] = { .type = NLA_U8 },
+ [NL80211_RATE_INFO_HE_MCS] = { .type = NLA_U8 },
};
nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
@@ -7102,6 +7104,10 @@ static int get_sta_handler(struct nl_msg
nla_get_u8(rate[NL80211_RATE_INFO_VHT_NSS]);
data->flags |= STA_DRV_DATA_TX_VHT_NSS;
}
+ if (rate[NL80211_RATE_INFO_HE_MCS])
+ data->tx_hemcs = nla_get_u8(rate[NL80211_RATE_INFO_HE_MCS]);
+ if (rate[NL80211_RATE_INFO_HE_NSS])
+ data->tx_he_nss = nla_get_u8(rate[NL80211_RATE_INFO_HE_NSS]);
}
if (stats[NL80211_STA_INFO_RX_BITRATE] &&
@@ -7132,11 +7138,16 @@ static int get_sta_handler(struct nl_msg
nla_get_u8(rate[NL80211_RATE_INFO_VHT_NSS]);
data->flags |= STA_DRV_DATA_RX_VHT_NSS;
}
+ if (rate[NL80211_RATE_INFO_HE_MCS])
+ data->rx_hemcs = nla_get_u8(rate[NL80211_RATE_INFO_HE_MCS]);
+ if (rate[NL80211_RATE_INFO_HE_NSS])
+ data->rx_he_nss = nla_get_u8(rate[NL80211_RATE_INFO_HE_NSS]);
}
if (stats[NL80211_STA_INFO_TID_STATS])
get_sta_tid_stats(data, stats[NL80211_STA_INFO_TID_STATS]);
+
return NL_SKIP;
}