From 445e665e069fa9e97a8556bdc5a7d696f3046092 Mon Sep 17 00:00:00 2001 From: Bob Copeland Date: Wed, 26 Nov 2008 16:17:11 -0500 Subject: [PATCH] --- yaml --- r: 122473 b: refs/heads/master c: f6bac3ea5990653765700b2c3778b08782abebe5 h: refs/heads/master i: 122471: 34bc261efaa9c33bdae0a12678706f79507c8daa v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/ath5k/pcu.c | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index abfe5082f355..552702c8eca2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 51e9bf5d795b8e01e54391f1790974c7b166d286 +refs/heads/master: f6bac3ea5990653765700b2c3778b08782abebe5 diff --git a/trunk/drivers/net/wireless/ath5k/pcu.c b/trunk/drivers/net/wireless/ath5k/pcu.c index d7f0c1017bda..79879f2d426c 100644 --- a/trunk/drivers/net/wireless/ath5k/pcu.c +++ b/trunk/drivers/net/wireless/ath5k/pcu.c @@ -267,24 +267,23 @@ void ath5k_hw_get_lladdr(struct ath5k_hw *ah, u8 *mac) * @mac: The card's mac address * * Set station id on hw using the provided mac address - * - * NOTE: This is only called during attach, don't call it - * on reset because it overwrites all AR5K_STA_ID1 settings. - * We have set_opmode (above) for reset. */ int ath5k_hw_set_lladdr(struct ath5k_hw *ah, const u8 *mac) { u32 low_id, high_id; + u32 pcu_reg; ATH5K_TRACE(ah->ah_sc); /* Set new station ID */ memcpy(ah->ah_sta_id, mac, ETH_ALEN); + pcu_reg = ath5k_hw_reg_read(ah, AR5K_STA_ID1) & 0xffff0000; + low_id = AR5K_LOW_ID(mac); high_id = AR5K_HIGH_ID(mac); ath5k_hw_reg_write(ah, low_id, AR5K_STA_ID0); - ath5k_hw_reg_write(ah, high_id, AR5K_STA_ID1); + ath5k_hw_reg_write(ah, pcu_reg | high_id, AR5K_STA_ID1); return 0; }