mt7603: fix bssid register settings on assoc/ibss-join

Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Felix Fietkau
2016-08-25 12:52:16 +02:00
parent 313e83c063
commit 3d36d4b649
2 changed files with 11 additions and 4 deletions
+10 -4
View File
@@ -224,10 +224,16 @@ mt7603_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
mutex_lock(&dev->mutex);
if (changed & (BSS_CHANGED_ASSOC | BSS_CHANGED_BSSID)) {
mt76_wr(dev, MT_BSSID0(mvif->idx),
get_unaligned_le32(info->bssid));
mt76_wr(dev, MT_BSSID1(mvif->idx),
get_unaligned_le16(info->bssid + 4));
if (info->assoc || info->ibss_joined) {
mt76_wr(dev, MT_BSSID0(mvif->idx),
get_unaligned_le32(info->bssid));
mt76_wr(dev, MT_BSSID1(mvif->idx),
(get_unaligned_le16(info->bssid + 4) |
MT_BSSID1_VALID));
} else {
mt76_wr(dev, MT_BSSID0(mvif->idx), 0);
mt76_wr(dev, MT_BSSID1(mvif->idx), 0);
}
}
if (changed & BSS_CHANGED_ERP_SLOT) {
+1
View File
@@ -367,6 +367,7 @@ enum {
#define MT_BSSID0(idx) MT_WF_RMAC(0x004 + idx * 8)
#define MT_BSSID1(idx) MT_WF_RMAC(0x008 + idx * 8)
#define MT_BSSID1_VALID BIT(16)
#define MT_MAC_ADDR0(idx) MT_WF_RMAC(0x024 + idx * 8)
#define MT_MAC_ADDR1(idx) MT_WF_RMAC(0x028 + idx * 8)