Commit fd7ee4c8 authored by Ping-Ke Shih's avatar Ping-Ke Shih Committed by Kalle Valo
Browse files

rtw89: only STA mode change vif_type mapping dynamically



vif_type mapping indicates hardware operating mode corresponding to vif
type. In STA mode, hardware mode should be INFRA or NO_LINK mode
dynamically according to association status. Since AP mode don't need to
change this by association status intuitively, just do the mapping in
STA mode.

Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220207063900.43643-4-pkshih@realtek.com
parent 2ab856cc
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2047,6 +2047,7 @@ int rtw89_core_sta_disconnect(struct rtw89_dev *rtwdev,
	rtw89_mac_bf_disassoc(rtwdev, vif, sta);
	rtw89_core_free_sta_pending_ba(rtwdev, sta);

	if (vif->type == NL80211_IFTYPE_STATION)
		rtw89_vif_type_mapping(vif, false);

	ret = rtw89_fw_h2c_assoc_cmac_tbl(rtwdev, vif, sta);
@@ -2079,7 +2080,6 @@ int rtw89_core_sta_assoc(struct rtw89_dev *rtwdev,
	struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv;
	int ret;

	rtw89_vif_type_mapping(vif, true);

	ret = rtw89_fw_h2c_assoc_cmac_tbl(rtwdev, vif, sta);
	if (ret) {
+3 −0
Original line number Diff line number Diff line
@@ -324,6 +324,9 @@ static void rtw89_station_mode_sta_assoc(struct rtw89_dev *rtwdev,
		rtw89_err(rtwdev, "can't find sta to set sta_assoc state\n");
		return;
	}

	rtw89_vif_type_mapping(vif, true);

	rtw89_core_sta_assoc(rtwdev, vif, sta);
}