lkml.org 
[lkml]   [2021]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 131/421] brcmfmac: fix setting of station info chains bitmask
    Date
    From: Alvin Šipraga <ALSI@bang-olufsen.dk>

    [ Upstream commit feb45643762172110cb3a44f99dd54304f33b711 ]

    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: cae355dc90db ("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>
    ---
    drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 3 +--
    1 file changed, 1 insertion(+), 2 deletions(-)

    diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
    index 96dc9e5ab23f..de8fd5780932 100644
    --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
    +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
    @@ -2614,6 +2614,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] =
    @@ -2624,8 +2625,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;
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-19 18:12    [W:4.068 / U:0.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site