brcmfmac: fix setting of station info chains bitmask
[ Upstream commitfeb4564376] The sinfo->chains field is a bitmask for filled values in chain_signal and chain_signal_avg, not a count. Treat it as such so that the driver can properly report per-chain RSSI information. Before (MIMO mode): $ iw dev wlan0 station dump ... signal: -51 [-51] dBm After (MIMO mode): $ iw dev wlan0 station dump ... signal: -53 [-53, -54] dBm Fixes:cae355dc90("brcmfmac: Add RSSI information to get_station.") Signed-off-by: Alvin Šipraga <alsi@bang-olufsen.dk> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20210506132010.3964484-1-alsi@bang-olufsen.dk Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
80ad538a87
commit
db4de88d43
1 changed files with 1 additions and 2 deletions
|
|
@ -2838,6 +2838,7 @@ brcmf_cfg80211_get_station(struct wiphy *wiphy, struct net_device *ndev,
|
|||
count_rssi = 0;
|
||||
for (i = 0; i < BRCMF_ANT_MAX; i++) {
|
||||
if (sta_info_le.rssi[i]) {
|
||||
sinfo->chains |= BIT(count_rssi);
|
||||
sinfo->chain_signal_avg[count_rssi] =
|
||||
sta_info_le.rssi[i];
|
||||
sinfo->chain_signal[count_rssi] =
|
||||
|
|
@ -2848,8 +2849,6 @@ brcmf_cfg80211_get_station(struct wiphy *wiphy, struct net_device *ndev,
|
|||
}
|
||||
if (count_rssi) {
|
||||
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL);
|
||||
sinfo->chains = count_rssi;
|
||||
|
||||
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_SIGNAL);
|
||||
total_rssi /= count_rssi;
|
||||
sinfo->signal = total_rssi;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue