Date: Wed, 26 Feb 2025 19:31:53 GMT From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 17e8437e8d05 - main - net80211: update get_sta_info() to only populate isi_txrate for legacy rates Message-ID: <202502261931.51QJVrdh019031@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=17e8437e8d05aa91f2d1f31cece68204e7294a74 commit 17e8437e8d05aa91f2d1f31cece68204e7294a74 Author: Adrian Chadd <adrian@FreeBSD.org> AuthorDate: 2025-01-17 02:41:14 +0000 Commit: Adrian Chadd <adrian@FreeBSD.org> CommitDate: 2025-02-26 19:31:27 +0000 net80211: update get_sta_info() to only populate isi_txrate for legacy rates The isi_txrate field is 8 bits and only represents legacy/HT rates. So to avoid logging a warning, only populate if it's a legacy/HT rate. Differential Revision: https://reviews.freebsd.org/D48616 --- sys/net80211/ieee80211_ioctl.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c index 24ec9659dc2d..caa0c77e2897 100644 --- a/sys/net80211/ieee80211_ioctl.c +++ b/sys/net80211/ieee80211_ioctl.c @@ -376,6 +376,7 @@ static void get_sta_info(void *arg, struct ieee80211_node *ni) { struct stainforeq *req = arg; + struct ieee80211_node_txrate tr; struct ieee80211vap *vap = ni->ni_vap; struct ieee80211req_sta_info *si; size_t ielen, len; @@ -406,7 +407,16 @@ get_sta_info(void *arg, struct ieee80211_node *ni) if (si->isi_nrates > 15) si->isi_nrates = 15; memcpy(si->isi_rates, ni->ni_rates.rs_rates, si->isi_nrates); - si->isi_txrate = ieee80211_node_get_txrate_dot11rate(ni); + /* + * isi_txrate can only represent the legacy/HT rates. + * Only set it if the rate is a legacy/HT rate. + * + * TODO: For VHT and later rates the API will need changing. + */ + ieee80211_node_get_txrate(ni, &tr); + if ((tr.type == IEEE80211_NODE_TXRATE_LEGACY) || + (tr.type == IEEE80211_NODE_TXRATE_HT)) + si->isi_txrate = ieee80211_node_get_txrate_dot11rate(ni); /* Note: txmbps is in 1/2Mbit/s units */ si->isi_txmbps = ieee80211_node_get_txrate_kbit(ni) / 500; si->isi_associd = ni->ni_associd;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202502261931.51QJVrdh019031>