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 <[email protected]>
Suggested-by: YF Luo <[email protected]>
Co-developed-by: Ryder Lee <[email protected]>
Signed-off-by: Ryder Lee <[email protected]>
Co-developed-by: Lorenzo Bianconi <[email protected]>
Signed-off-by: Lorenzo Bianconi <[email protected]>
Signed-off-by: Sean Wang <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Sean Wang
2020-04-27 19:54:42 +02:00
committed by Felix Fietkau
parent 6aaf029973
commit 5de75b745c
+3 -19
View File
@@ -1365,8 +1365,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;
@@ -1375,24 +1375,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:
@@ -1401,8 +1385,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,