[Madwifi-cvs] revision 1974 committed
Status: Beta
Brought to you by:
otaku
From: Pavel R. <svn...@ma...> - 2007-01-18 00:20:57
|
Project : madwifi Revision : 1974 Author : proski (Pavel Roskin) Date : 2007-01-18 01:20:46 +0100 (Thu, 18 Jan 2007) Log Message : Use somewhat more reasonable code for ar5k_ar5212_set_bssid_mask() I'm assuming that the BSSID mask is a 6-byte sequence that is AND-ed with the BSSID from received frames to determine if it's our BSSID. The logic is done in the driver (see ATH_SET_VAP_BSSID_MASK in trunk); we should just honestly write the registers. Affected Files: * branches/dadwifi-openhal/openhal/ar5212.c updated Modified: branches/dadwifi-openhal/openhal/ar5212.c =================================================================== --- branches/dadwifi-openhal/openhal/ar5212.c 2007-01-17 17:04:42 UTC (rev 1973) +++ branches/dadwifi-openhal/openhal/ar5212.c 2007-01-18 00:20:46 UTC (rev 1974) @@ -2012,10 +2012,16 @@ AR5K_BOOL /*New*/ ar5k_ar5212_set_bssid_mask(struct ath_hal *hal, const u_int8_t* mask) { - /*Got that from set associd*/ - AR5K_REG_WRITE(AR5K_AR5212_BSS_IDM0, mask); - AR5K_REG_WRITE(AR5K_AR5212_BSS_IDM1, mask); - return TRUE; + u_int32_t low_id, high_id; + + AR5K_TRACE; + bcopy(mask, &low_id, 4); + bcopy(mask + 4, &high_id, 2); + high_id = 0x0000ffff & high_id; + + AR5K_REG_WRITE(AR5K_AR5212_BSS_IDM0, low_id); + AR5K_REG_WRITE(AR5K_AR5212_BSS_IDM1, high_id); + return (TRUE); } |