]> git.baikalelectronics.ru Git - kernel.git/commitdiff
rtw88: Fix incorrect beamformee role setting
authorTzu-En Huang <tehuang@realtek.com>
Fri, 7 Feb 2020 08:47:29 +0000 (16:47 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 13 Feb 2020 10:07:25 +0000 (12:07 +0200)
In associating and configuring beamformee, bfee->role is not
correctly set before rtw_chip_ops::config_bfee().
Fix it by setting it correctly.

Signed-off-by: Tzu-En Huang <tehuang@realtek.com>
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
Reviewed-by: Chris Chiu <chiu@endlessm.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtw88/bf.c

index fda771d23f712dcd183bdc4fd453ee56d1071604..b6d1d71f4d302911d2f398c048bb1fa4470c8bb1 100644 (file)
@@ -41,7 +41,6 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
        struct ieee80211_sta_vht_cap *ic_vht_cap;
        const u8 *bssid = bss_conf->bssid;
        u32 sound_dim;
-       u8 bfee_role = RTW_BFEE_NONE;
        u8 i;
 
        if (!(chip->band & RTW_BAND_5G))
@@ -67,7 +66,7 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
                }
 
                ether_addr_copy(bfee->mac_addr, bssid);
-               bfee_role = RTW_BFEE_MU;
+               bfee->role = RTW_BFEE_MU;
                bfee->p_aid = (bssid[5] << 1) | (bssid[4] >> 7);
                bfee->aid = bss_conf->aid;
                bfinfo->bfer_mu_cnt++;
@@ -85,7 +84,7 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
                sound_dim >>= IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_SHIFT;
 
                ether_addr_copy(bfee->mac_addr, bssid);
-               bfee_role = RTW_BFEE_SU;
+               bfee->role = RTW_BFEE_SU;
                bfee->sound_dim = (u8)sound_dim;
                bfee->g_id = 0;
                bfee->p_aid = (bssid[5] << 1) | (bssid[4] >> 7);
@@ -102,7 +101,6 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
        }
 
 out_unlock:
-       bfee->role = bfee_role;
        rcu_read_unlock();
 }