aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath5k/pcu.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/pcu.c')
-rw-r--r--drivers/net/wireless/ath/ath5k/pcu.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/net/wireless/ath/ath5k/pcu.c b/drivers/net/wireless/ath/ath5k/pcu.c
index 23e5e7e5b49..2ab9c0ecbb8 100644
--- a/drivers/net/wireless/ath/ath5k/pcu.c
+++ b/drivers/net/wireless/ath/ath5k/pcu.c
@@ -282,7 +282,6 @@ int ath5k_hw_set_lladdr(struct ath5k_hw *ah, const u8 *mac)
282void ath5k_hw_set_associd(struct ath5k_hw *ah) 282void ath5k_hw_set_associd(struct ath5k_hw *ah)
283{ 283{
284 struct ath_common *common = ath5k_hw_common(ah); 284 struct ath_common *common = ath5k_hw_common(ah);
285 u32 low_id, high_id;
286 u16 tim_offset = 0; 285 u16 tim_offset = 0;
287 286
288 /* 287 /*
@@ -294,11 +293,13 @@ void ath5k_hw_set_associd(struct ath5k_hw *ah)
294 /* 293 /*
295 * Set BSSID which triggers the "SME Join" operation 294 * Set BSSID which triggers the "SME Join" operation
296 */ 295 */
297 low_id = get_unaligned_le32(common->curbssid); 296 ath5k_hw_reg_write(ah,
298 high_id = get_unaligned_le16(common->curbssid + 4); 297 get_unaligned_le32(common->curbssid),
299 ath5k_hw_reg_write(ah, low_id, AR_BSSMSKL); 298 AR_BSSMSKL);
300 ath5k_hw_reg_write(ah, high_id | ((common->curaid & 0x3fff) << 299 ath5k_hw_reg_write(ah,
301 AR5K_BSS_ID1_AID_S), AR_BSSMSKU); 300 get_unaligned_le16(common->curbssid + 4) |
301 ((common->curaid & 0x3fff) << AR5K_BSS_ID1_AID_S),
302 AR_BSSMSKU);
302 303
303 if (common->curaid == 0) { 304 if (common->curaid == 0) {
304 ath5k_hw_disable_pspoll(ah); 305 ath5k_hw_disable_pspoll(ah);
@@ -306,7 +307,7 @@ void ath5k_hw_set_associd(struct ath5k_hw *ah)
306 } 307 }
307 308
308 AR5K_REG_WRITE_BITS(ah, AR5K_BEACON, AR5K_BEACON_TIM, 309 AR5K_REG_WRITE_BITS(ah, AR5K_BEACON, AR5K_BEACON_TIM,
309 tim_offset ? tim_offset + 4 : 0); 310 tim_offset ? tim_offset + 4 : 0);
310 311
311 ath5k_hw_enable_pspoll(ah, NULL, 0); 312 ath5k_hw_enable_pspoll(ah, NULL, 0);
312} 313}