extern int ath5k_hw_set_opmode(struct ath5k_hw *ah);
/* BSSID Functions */
extern int ath5k_hw_set_lladdr(struct ath5k_hw *ah, const u8 *mac);
-extern void ath5k_hw_set_associd(struct ath5k_hw *ah, const u8 *bssid, u16 assoc_id);
+extern void ath5k_hw_set_associd(struct ath5k_hw *ah);
extern void ath5k_hw_set_bssid_mask(struct ath5k_hw *ah, const u8 *mask);
/* Receive start/stop functions */
extern void ath5k_hw_start_rx_pcu(struct ath5k_hw *ah);
/* Set BSSID to bcast address: ff:ff:ff:ff:ff:ff for now */
memcpy(common->curbssid, ath_bcast_mac, ETH_ALEN);
- ath5k_hw_set_associd(ah, common->curbssid, 0);
+ ath5k_hw_set_associd(ah);
ath5k_hw_set_opmode(ah);
ath5k_hw_rfgain_opt_init(ah);
memcpy(common->curbssid, bss_conf->bssid, ETH_ALEN);
/* XXX: assoc id is set to 0 for now, mac80211 doesn't have
* a clean way of letting us retrieve this yet. */
- ath5k_hw_set_associd(ah, common->curbssid, 0);
+ ath5k_hw_set_associd(ah);
mmiowb();
}
*
* Sets the BSSID which trigers the "SME Join" operation
*/
-void ath5k_hw_set_associd(struct ath5k_hw *ah, const u8 *bssid, u16 assoc_id)
+void ath5k_hw_set_associd(struct ath5k_hw *ah)
{
struct ath_common *common = ath5k_hw_common(ah);
u32 low_id, high_id;
/*
* Set BSSID which triggers the "SME Join" operation
*/
- low_id = get_unaligned_le32(bssid);
- high_id = get_unaligned_le16(bssid + 4);
+ low_id = get_unaligned_le32(common->curbssid);
+ high_id = get_unaligned_le16(common->curbssid + 4);
ath5k_hw_reg_write(ah, low_id, AR_BSSMSKL);
- ath5k_hw_reg_write(ah, high_id | ((assoc_id & 0x3fff) <<
+ ath5k_hw_reg_write(ah, high_id | ((common->curaid & 0x3fff) <<
AR5K_BSS_ID1_AID_S), AR_BSSMSKU);
- if (assoc_id == 0) {
+ if (common->curaid == 0) {
ath5k_hw_disable_pspoll(ah);
return;
}
/* Restore bssid and bssid mask */
/* XXX: add ah->aid once mac80211 gives this to us */
- ath5k_hw_set_associd(ah, common->curbssid, 0);
+ ath5k_hw_set_associd(ah);
/* Set PCU config */
ath5k_hw_set_opmode(ah);