Changeset 2279
- Timestamp:
- 04/17/07 02:04:35 (2 years ago)
- Files:
-
- trunk/ath/if_ath.c (modified) (7 diffs)
- trunk/ath/if_athvar.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ath/if_ath.c
r2277 r2279 2923 2923 memcpy(hk->kv_mic, k->wk_txmic, sizeof(hk->kv_mic)); 2924 2924 KEYPRINTF(sc, k->wk_keyix, hk, zerobssid); 2925 if (!ath_hal_keyset(ah, k->wk_keyix, hk, zerobssid))2925 if (!ath_hal_keyset(ah, ATH_KEY(k->wk_keyix), hk, zerobssid)) 2926 2926 return 0; 2927 2927 2928 2928 memcpy(hk->kv_mic, k->wk_rxmic, sizeof(hk->kv_mic)); 2929 KEYPRINTF(sc, k->wk_keyix +32, hk, mac);2929 KEYPRINTF(sc, k->wk_keyix + 32, hk, mac); 2930 2930 /* XXX delete tx key on failure? */ 2931 return ath_hal_keyset(ah, k->wk_keyix+32, hk, mac);2931 return ath_hal_keyset(ah, ATH_KEY(k->wk_keyix + 32), hk, mac); 2932 2932 } else { 2933 2933 /* … … 2941 2941 #endif 2942 2942 KEYPRINTF(sc, k->wk_keyix, hk, mac); 2943 return ath_hal_keyset(ah, k->wk_keyix, hk, mac);2943 return ath_hal_keyset(ah, ATH_KEY(k->wk_keyix), hk, mac); 2944 2944 } 2945 2945 } else if (k->wk_flags & IEEE80211_KEY_XR) { … … 2951 2951 k->wk_txmic : k->wk_rxmic, sizeof(hk->kv_mic)); 2952 2952 KEYPRINTF(sc, k->wk_keyix, hk, mac); 2953 return ath_hal_keyset(ah, k->wk_keyix, hk, mac);2953 return ath_hal_keyset(ah, ATH_KEY(k->wk_keyix), hk, mac); 2954 2954 } 2955 2955 return 0; … … 3015 3015 } else { 3016 3016 KEYPRINTF(sc, k->wk_keyix, &hk, mac); 3017 return ath_hal_keyset(ah, k->wk_keyix, &hk, mac);3017 return ath_hal_keyset(ah, ATH_KEY(k->wk_keyix), &hk, mac); 3018 3018 } 3019 3019 #undef N … … 6050 6050 k = ieee80211_crypto_encap(vap->iv_bss, skb); 6051 6051 if (k) 6052 keyix = k->wk_keyix;6052 keyix = ATH_KEY(k->wk_keyix); 6053 6053 } 6054 6054 } … … 6652 6652 pktlen += cip->ic_miclen; 6653 6653 } 6654 keyix = k->wk_keyix;6654 keyix = ATH_KEY(k->wk_keyix); 6655 6655 6656 6656 #ifdef ATH_SUPERG_COMP … … 6664 6664 * Use station key cache slot, if assigned. 6665 6665 */ 6666 keyix = ni->ni_ucastkey.wk_keyix; 6667 if (keyix == IEEE80211_KEYIX_NONE) 6668 keyix = HAL_TXKEYIX_INVALID; 6666 keyix = ATH_KEY(ni->ni_ucastkey.wk_keyix); 6669 6667 } else 6670 6668 keyix = HAL_TXKEYIX_INVALID; trunk/ath/if_athvar.h
r2217 r2279 314 314 #define ATH_KEYMAX 128 /* max key cache size we handle */ 315 315 #define ATH_KEYBYTES (ATH_KEYMAX / NBBY) /* storage space in bytes */ 316 317 /* 318 * Convert from net80211 layer values to Ath layer values. Hopefully this will 319 * be optimised away when the two constants are the same. 320 */ 321 #define ATH_KEY(_keyix) ((_keyix == IEEE80211_KEYIX_NONE) ? HAL_TXKEYIX_INVALID : _keyix) 322 316 323 #define ATH_MIN_FF_RATE 12000 /* min rate for ff aggregation in kbps */ 317 324 #define ATH_MIN_FF_RATE 12000 /* min rate for ff aggregation in kbps */ … … 596 603 u_int sc_fftxqmin; /* aggregation threshold */ 597 604 HAL_INT sc_imask; /* interrupt mask copy */ 598 u_int sc_keymax; /* size of key cache */605 u_int sc_keymax; /* size of key cache */ 599 606 u_int8_t sc_keymap[ATH_KEYBYTES]; /* key use bit map */ 600 607 struct ieee80211_node *sc_keyixmap[ATH_KEYMAX];/* key ix->node map */ 601 608 u_int8_t sc_bssidmask[IEEE80211_ADDR_LEN]; 602 609 603 u_int sc_ledpin; /* GPIO pin for driving LED */610 u_int sc_ledpin; /* GPIO pin for driving LED */ 604 611 u_int sc_ledon; /* pin setting for LED on */ 605 612 u_int sc_ledidle; /* idle polling interval */ 606 int sc_ledevent; /* time of last LED event */613 int sc_ledevent; /* time of last LED event */ 607 614 u_int8_t sc_rxrate; /* current rx rate for LED */ 608 615 u_int8_t sc_txrate; /* current tx rate for LED */ … … 640 647 u_int sc_bmisscount; /* missed beacon transmits */ 641 648 u_int32_t sc_ant_tx[8]; /* recent tx frames/antenna */ 642 struct ath_txq *sc_cabq; /* tx q for cab frames */649 struct ath_txq *sc_cabq; /* tx q for cab frames */ 643 650 struct ath_txq sc_grpplq; /* tx q for XR group polls */ 644 651 struct ath_txq *sc_xrtxq; /* tx q for XR data */
