Page MenuHomeFreeBSD

D48616.diff
No OneTemporary

D48616.diff

diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c
--- a/sys/net80211/ieee80211_ioctl.c
+++ b/sys/net80211/ieee80211_ioctl.c
@@ -376,6 +376,7 @@
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 @@
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;

File Metadata

Mime Type
text/plain
Expires
Mon, Apr 28, 12:04 AM (13 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16862966
Default Alt Text
D48616.diff (1 KB)

Event Timeline