diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-04-16 06:51:56 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-04-22 15:20:15 -0400 |
commit | ecbbed32e7c2ad7d9a6305b02e11502b51f2605c (patch) | |
tree | 0645e1b463290d14376580cec10631879527998c /drivers/net/wireless/ath/hw.c | |
parent | 703a4e5521dcd6624a8740c5be597c4fc8e4b9bb (diff) |
ath: update hardware mac address with bssid mask
Preparation for updating common->macaddr along with virtual interface
MAC address changes.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/hw.c')
-rw-r--r-- | drivers/net/wireless/ath/hw.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/hw.c b/drivers/net/wireless/ath/hw.c index 39e8a590d7fc..eae9abf540a7 100644 --- a/drivers/net/wireless/ath/hw.c +++ b/drivers/net/wireless/ath/hw.c | |||
@@ -118,6 +118,12 @@ | |||
118 | void ath_hw_setbssidmask(struct ath_common *common) | 118 | void ath_hw_setbssidmask(struct ath_common *common) |
119 | { | 119 | { |
120 | void *ah = common->ah; | 120 | void *ah = common->ah; |
121 | u32 id1; | ||
122 | |||
123 | REG_WRITE(ah, AR_STA_ID0, get_unaligned_le32(common->macaddr)); | ||
124 | id1 = REG_READ(ah, AR_STA_ID1) & ~AR_STA_ID1_SADH_MASK; | ||
125 | id1 |= get_unaligned_le16(common->macaddr + 4); | ||
126 | REG_WRITE(ah, AR_STA_ID1, id1); | ||
121 | 127 | ||
122 | REG_WRITE(ah, AR_BSSMSKL, get_unaligned_le32(common->bssidmask)); | 128 | REG_WRITE(ah, AR_BSSMSKL, get_unaligned_le32(common->bssidmask)); |
123 | REG_WRITE(ah, AR_BSSMSKU, get_unaligned_le16(common->bssidmask + 4)); | 129 | REG_WRITE(ah, AR_BSSMSKU, get_unaligned_le16(common->bssidmask + 4)); |