mt76: mt7663: fix up BMC entry indicated to unicmd firmware
BMC entry for MT7663 unicmd firmware should be a broadcast/multicast entry, not a unicast entry, that is GTK rekey offload would rely on. Fixes: 138860679b2a ("mt76: mt7615: add more uni mcu commands") Cc: Soul Huang <Soul.Huang@mediatek.com> Suggested-by: YF Luo <Yf.Luo@mediatek.com> Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Co-developed-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
dd89a0133c
commit
5ac2e2a348
@ -1359,8 +1359,8 @@ mt7615_mcu_uni_add_bss(struct mt7615_phy *phy,
|
||||
.short_st = true,
|
||||
},
|
||||
};
|
||||
u8 idx, tx_wlan_idx = 0;
|
||||
int err;
|
||||
u8 idx;
|
||||
|
||||
idx = mvif->omac_idx > EXT_BSSID_START ? HW_BSSID_0 : mvif->omac_idx;
|
||||
basic_req.basic.hw_bss_idx = idx;
|
||||
@ -1369,24 +1369,8 @@ mt7615_mcu_uni_add_bss(struct mt7615_phy *phy,
|
||||
case NL80211_IFTYPE_MESH_POINT:
|
||||
case NL80211_IFTYPE_AP:
|
||||
basic_req.basic.conn_type = cpu_to_le32(CONNECTION_INFRA_AP);
|
||||
tx_wlan_idx = mvif->sta.wcid.idx;
|
||||
break;
|
||||
case NL80211_IFTYPE_STATION:
|
||||
if (enable) {
|
||||
struct ieee80211_sta *sta;
|
||||
struct mt7615_sta *msta;
|
||||
|
||||
rcu_read_lock();
|
||||
sta = ieee80211_find_sta(vif, vif->bss_conf.bssid);
|
||||
if (!sta) {
|
||||
rcu_read_unlock();
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
msta = (struct mt7615_sta *)sta->drv_priv;
|
||||
tx_wlan_idx = msta->wcid.idx;
|
||||
rcu_read_unlock();
|
||||
}
|
||||
basic_req.basic.conn_type = cpu_to_le32(CONNECTION_INFRA_STA);
|
||||
break;
|
||||
default:
|
||||
@ -1395,8 +1379,8 @@ mt7615_mcu_uni_add_bss(struct mt7615_phy *phy,
|
||||
}
|
||||
|
||||
memcpy(basic_req.basic.bssid, vif->bss_conf.bssid, ETH_ALEN);
|
||||
basic_req.basic.bmc_tx_wlan_idx = cpu_to_le16(tx_wlan_idx);
|
||||
basic_req.basic.sta_idx = cpu_to_le16(tx_wlan_idx);
|
||||
basic_req.basic.bmc_tx_wlan_idx = cpu_to_le16(mvif->sta.wcid.idx);
|
||||
basic_req.basic.sta_idx = cpu_to_le16(mvif->sta.wcid.idx);
|
||||
basic_req.basic.conn_state = !enable;
|
||||
|
||||
err = __mt76_mcu_send_msg(&dev->mt76, MCU_UNI_CMD_BSS_INFO_UPDATE,
|
||||
|
Loading…
x
Reference in New Issue
Block a user