|
@@ -428,11 +428,13 @@ void sta_set_rate_info_tx(struct sta_info *sta,
|
|
|
rinfo->legacy = DIV_ROUND_UP(brate, 1 << shift);
|
|
|
}
|
|
|
if (rate->flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
|
|
|
- rinfo->flags |= RATE_INFO_FLAGS_40_MHZ_WIDTH;
|
|
|
- if (rate->flags & IEEE80211_TX_RC_80_MHZ_WIDTH)
|
|
|
- rinfo->flags |= RATE_INFO_FLAGS_80_MHZ_WIDTH;
|
|
|
- if (rate->flags & IEEE80211_TX_RC_160_MHZ_WIDTH)
|
|
|
- rinfo->flags |= RATE_INFO_FLAGS_160_MHZ_WIDTH;
|
|
|
+ rinfo->bw = RATE_INFO_BW_40;
|
|
|
+ else if (rate->flags & IEEE80211_TX_RC_80_MHZ_WIDTH)
|
|
|
+ rinfo->bw = RATE_INFO_BW_80;
|
|
|
+ else if (rate->flags & IEEE80211_TX_RC_160_MHZ_WIDTH)
|
|
|
+ rinfo->bw = RATE_INFO_BW_160;
|
|
|
+ else
|
|
|
+ rinfo->bw = RATE_INFO_BW_20;
|
|
|
if (rate->flags & IEEE80211_TX_RC_SHORT_GI)
|
|
|
rinfo->flags |= RATE_INFO_FLAGS_SHORT_GI;
|
|
|
}
|
|
@@ -459,14 +461,21 @@ void sta_set_rate_info_rx(struct sta_info *sta, struct rate_info *rinfo)
|
|
|
rinfo->legacy = DIV_ROUND_UP(brate, 1 << shift);
|
|
|
}
|
|
|
|
|
|
- if (sta->last_rx_rate_flag & RX_FLAG_40MHZ)
|
|
|
- rinfo->flags |= RATE_INFO_FLAGS_40_MHZ_WIDTH;
|
|
|
if (sta->last_rx_rate_flag & RX_FLAG_SHORT_GI)
|
|
|
rinfo->flags |= RATE_INFO_FLAGS_SHORT_GI;
|
|
|
- if (sta->last_rx_rate_vht_flag & RX_VHT_FLAG_80MHZ)
|
|
|
- rinfo->flags |= RATE_INFO_FLAGS_80_MHZ_WIDTH;
|
|
|
- if (sta->last_rx_rate_vht_flag & RX_VHT_FLAG_160MHZ)
|
|
|
- rinfo->flags |= RATE_INFO_FLAGS_160_MHZ_WIDTH;
|
|
|
+
|
|
|
+ if (sta->last_rx_rate_flag & RX_FLAG_5MHZ)
|
|
|
+ rinfo->bw = RATE_INFO_BW_5;
|
|
|
+ else if (sta->last_rx_rate_flag & RX_FLAG_10MHZ)
|
|
|
+ rinfo->bw = RATE_INFO_BW_10;
|
|
|
+ else if (sta->last_rx_rate_flag & RX_FLAG_40MHZ)
|
|
|
+ rinfo->bw = RATE_INFO_BW_40;
|
|
|
+ else if (sta->last_rx_rate_vht_flag & RX_VHT_FLAG_80MHZ)
|
|
|
+ rinfo->bw = RATE_INFO_BW_80;
|
|
|
+ else if (sta->last_rx_rate_vht_flag & RX_VHT_FLAG_160MHZ)
|
|
|
+ rinfo->bw = RATE_INFO_BW_160;
|
|
|
+ else
|
|
|
+ rinfo->bw = RATE_INFO_BW_20;
|
|
|
}
|
|
|
|
|
|
static int ieee80211_dump_station(struct wiphy *wiphy, struct net_device *dev,
|