From 102597868e133af2e4e99f6472bbb8a62a2002d4 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 6 Feb 2016 18:47:52 +0100 Subject: [PATCH] mt7603: set per-interface mac address Signed-off-by: Felix Fietkau --- mt7603_init.c | 5 ----- mt7603_main.c | 6 ++++++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mt7603_init.c b/mt7603_init.c index 43aa9a7e..23d80005 100644 --- a/mt7603_init.c +++ b/mt7603_init.c @@ -175,7 +175,6 @@ mt7603_phy_init(struct mt7603_dev *dev) static void mt7603_mac_init(struct mt7603_dev *dev) { - void *dev_addr = dev->mt76.hw->wiphy->perm_addr; u8 bc_addr[ETH_ALEN]; u32 addr; int i; @@ -218,10 +217,6 @@ mt7603_mac_init(struct mt7603_dev *dev) mt76_rmw_field(dev, MT_LPON_BTEIR, MT_LPON_BTEIR_MBSS_MODE, 2); mt76_rmw_field(dev, MT_WF_RMACDR, MT_WF_RMACDR_MBSSID_MASK, 2); - mt76_wr(dev, MT_MAC_ADDR0(0), get_unaligned_le32(dev_addr)); - mt76_wr(dev, MT_MAC_ADDR1(0), - get_unaligned_le16(dev_addr + 4) | MT_MAC_ADDR1_VALID); - mt76_wr(dev, MT_AGG_ARUCR, 0); mt76_wr(dev, MT_AGG_ARDCR, ~0); mt76_wr(dev, MT_AGG_ARCR, (MT_AGG_ARCR_INIT_RATE1 | diff --git a/mt7603_main.c b/mt7603_main.c index 28c781c8..6fe2cfc4 100644 --- a/mt7603_main.c +++ b/mt7603_main.c @@ -68,6 +68,12 @@ mt7603_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) goto out; } + mt76_wr(dev, MT_MAC_ADDR0(mvif->idx), + get_unaligned_le32(vif->addr)); + mt76_wr(dev, MT_MAC_ADDR1(mvif->idx), + (get_unaligned_le16(vif->addr + 4) | + MT_MAC_ADDR1_VALID)); + idx = MT7603_WTBL_RESERVED - 1 - mvif->idx; dev->vif_mask |= BIT(mvif->idx); mvif->sta.wcid.idx = idx;