ath5k: Update PCU code
* In set_opmode don't handle antenna settings and preserve other STA_ID1 settings (shouldn't matter because we call it during reset but it makes things cleaner) Also set properly AP/ADHOC indicator flag on CFG while setting AP/ADHOC modes and always enable key search mode. * Properly set BSSID Mask during reset (cache it and reuse it durring set_associd) * Update beacon_init to flush pending BMISS interrupts and handle setting of adhoc beacon ATIM policy flag for ad-hoc mode. Also set TSF to 0 to start TSF increment on AP mode. We need to handle sleep timers for AR5212 there + add support for PCF. * Properly clean MIC key from keytable when TKIP is used (Bob is working on set_key function etc so i leave it for now). Tested on AR5212 (Hainan) and AR5413 and works fine v2 Set PISR on AR5211+ and ISR on AR5210, got to sleep more ;-) Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis <mickflemm@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
2c706002fc
commit
f07a6c495e
3 changed files with 102 additions and 24 deletions
|
@ -1114,14 +1114,16 @@
|
|||
#define AR5K_PCU_MAX 0x8fff
|
||||
|
||||
/*
|
||||
* First station id register (MAC address in lower 32 bits)
|
||||
* First station id register (Lower 32 bits of MAC address)
|
||||
*/
|
||||
#define AR5K_STA_ID0 0x8000
|
||||
#define AR5K_STA_ID0 0x8000
|
||||
#define AR5K_STA_ID0_ARRD_L32 0xffffffff
|
||||
|
||||
/*
|
||||
* Second station id register (MAC address in upper 16 bits)
|
||||
* Second station id register (Upper 16 bits of MAC address + PCU settings)
|
||||
*/
|
||||
#define AR5K_STA_ID1 0x8004 /* Register Address */
|
||||
#define AR5K_STA_ID1_ADDR_U16 0x0000ffff /* Upper 16 bits of MAC addres */
|
||||
#define AR5K_STA_ID1_AP 0x00010000 /* Set AP mode */
|
||||
#define AR5K_STA_ID1_ADHOC 0x00020000 /* Set Ad-Hoc mode */
|
||||
#define AR5K_STA_ID1_PWR_SV 0x00040000 /* Power save reporting */
|
||||
|
@ -1811,6 +1813,10 @@
|
|||
#define AR5K_KEYTABLE_MAC1(_n) AR5K_KEYTABLE_OFF(_n, 7)
|
||||
#define AR5K_KEYTABLE_VALID 0x00008000
|
||||
|
||||
/* If key type is TKIP and MIC is enabled
|
||||
* MIC key goes in offset entry + 64 */
|
||||
#define AR5K_KEYTABLE_MIC_OFFSET 64
|
||||
|
||||
/* WEP 40-bit = 40-bit entered key + 24 bit IV = 64-bit
|
||||
* WEP 104-bit = 104-bit entered key + 24-bit IV = 128-bit
|
||||
* WEP 128-bit = 128-bit entered key + 24 bit IV = 152-bit
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue