Loading net/mac80211/sta_info.c +8 −3 Original line number Diff line number Diff line Loading @@ -1960,14 +1960,17 @@ static void sta_stats_decode_rate(struct ieee80211_local *local, u16 rate, rinfo->bw = (rate & STA_STATS_RATE_BW_MASK) >> STA_STATS_RATE_BW_SHIFT; if (rate & STA_STATS_RATE_VHT) { switch (rate & STA_STATS_RATE_TYPE_MASK) { case STA_STATS_RATE_TYPE_VHT: rinfo->flags = RATE_INFO_FLAGS_VHT_MCS; rinfo->mcs = rate & 0xf; rinfo->nss = (rate & 0xf0) >> 4; } else if (rate & STA_STATS_RATE_HT) { break; case STA_STATS_RATE_TYPE_HT: rinfo->flags = RATE_INFO_FLAGS_MCS; rinfo->mcs = rate & 0xff; } else if (rate & STA_STATS_RATE_LEGACY) { break; case STA_STATS_RATE_TYPE_LEGACY: { struct ieee80211_supported_band *sband; u16 brate; unsigned int shift; Loading @@ -1982,6 +1985,8 @@ static void sta_stats_decode_rate(struct ieee80211_local *local, u16 rate, else shift = 0; rinfo->legacy = DIV_ROUND_UP(brate, 1 << shift); break; } } if (rate & STA_STATS_RATE_SGI) Loading net/mac80211/sta_info.h +7 −6 Original line number Diff line number Diff line Loading @@ -728,9 +728,10 @@ void ieee80211_sta_ps_deliver_uapsd(struct sta_info *sta); unsigned long ieee80211_sta_last_active(struct sta_info *sta); #define STA_STATS_RATE_INVALID 0 #define STA_STATS_RATE_VHT 0x8000 #define STA_STATS_RATE_HT 0x4000 #define STA_STATS_RATE_LEGACY 0x2000 #define STA_STATS_RATE_TYPE_MASK 0xC000 #define STA_STATS_RATE_TYPE_LEGACY 0x4000 #define STA_STATS_RATE_TYPE_HT 0x8000 #define STA_STATS_RATE_TYPE_VHT 0xC000 #define STA_STATS_RATE_SGI 0x1000 #define STA_STATS_RATE_BW_SHIFT 9 #define STA_STATS_RATE_BW_MASK (0x7 << STA_STATS_RATE_BW_SHIFT) Loading @@ -756,11 +757,11 @@ static inline u16 sta_stats_encode_rate(struct ieee80211_rx_status *s) r |= STA_STATS_RATE_SGI; if (s->flag & RX_FLAG_VHT) r |= STA_STATS_RATE_VHT | (s->vht_nss << 4); r |= STA_STATS_RATE_TYPE_VHT | (s->vht_nss << 4); else if (s->flag & RX_FLAG_HT) r |= STA_STATS_RATE_HT; r |= STA_STATS_RATE_TYPE_HT; else r |= STA_STATS_RATE_LEGACY | (s->band << 4); r |= STA_STATS_RATE_TYPE_LEGACY | (s->band << 4); return r; } Loading Loading
net/mac80211/sta_info.c +8 −3 Original line number Diff line number Diff line Loading @@ -1960,14 +1960,17 @@ static void sta_stats_decode_rate(struct ieee80211_local *local, u16 rate, rinfo->bw = (rate & STA_STATS_RATE_BW_MASK) >> STA_STATS_RATE_BW_SHIFT; if (rate & STA_STATS_RATE_VHT) { switch (rate & STA_STATS_RATE_TYPE_MASK) { case STA_STATS_RATE_TYPE_VHT: rinfo->flags = RATE_INFO_FLAGS_VHT_MCS; rinfo->mcs = rate & 0xf; rinfo->nss = (rate & 0xf0) >> 4; } else if (rate & STA_STATS_RATE_HT) { break; case STA_STATS_RATE_TYPE_HT: rinfo->flags = RATE_INFO_FLAGS_MCS; rinfo->mcs = rate & 0xff; } else if (rate & STA_STATS_RATE_LEGACY) { break; case STA_STATS_RATE_TYPE_LEGACY: { struct ieee80211_supported_band *sband; u16 brate; unsigned int shift; Loading @@ -1982,6 +1985,8 @@ static void sta_stats_decode_rate(struct ieee80211_local *local, u16 rate, else shift = 0; rinfo->legacy = DIV_ROUND_UP(brate, 1 << shift); break; } } if (rate & STA_STATS_RATE_SGI) Loading
net/mac80211/sta_info.h +7 −6 Original line number Diff line number Diff line Loading @@ -728,9 +728,10 @@ void ieee80211_sta_ps_deliver_uapsd(struct sta_info *sta); unsigned long ieee80211_sta_last_active(struct sta_info *sta); #define STA_STATS_RATE_INVALID 0 #define STA_STATS_RATE_VHT 0x8000 #define STA_STATS_RATE_HT 0x4000 #define STA_STATS_RATE_LEGACY 0x2000 #define STA_STATS_RATE_TYPE_MASK 0xC000 #define STA_STATS_RATE_TYPE_LEGACY 0x4000 #define STA_STATS_RATE_TYPE_HT 0x8000 #define STA_STATS_RATE_TYPE_VHT 0xC000 #define STA_STATS_RATE_SGI 0x1000 #define STA_STATS_RATE_BW_SHIFT 9 #define STA_STATS_RATE_BW_MASK (0x7 << STA_STATS_RATE_BW_SHIFT) Loading @@ -756,11 +757,11 @@ static inline u16 sta_stats_encode_rate(struct ieee80211_rx_status *s) r |= STA_STATS_RATE_SGI; if (s->flag & RX_FLAG_VHT) r |= STA_STATS_RATE_VHT | (s->vht_nss << 4); r |= STA_STATS_RATE_TYPE_VHT | (s->vht_nss << 4); else if (s->flag & RX_FLAG_HT) r |= STA_STATS_RATE_HT; r |= STA_STATS_RATE_TYPE_HT; else r |= STA_STATS_RATE_LEGACY | (s->band << 4); r |= STA_STATS_RATE_TYPE_LEGACY | (s->band << 4); return r; } Loading