Lines Matching full:k

110 rtwn_key_alloc(struct ieee80211vap *vap, struct ieee80211_key *k,
116 if (ieee80211_is_key_global(vap, k)) {
117 *keyix = ieee80211_crypto_get_key_wepidx(vap, k);
119 k->wk_flags |= IEEE80211_KEY_SWCRYPT;
141 k->wk_flags |= IEEE80211_KEY_SWCRYPT;
173 k->wk_flags |= IEEE80211_KEY_SWCRYPT;
183 rtwn_key_set_cb0(struct rtwn_softc *sc, const struct ieee80211_key *k)
189 k->wk_keyix < IEEE80211_WEP_NKID)
190 keyid = k->wk_keyix;
195 switch (k->wk_cipher->ic_cipher) {
197 if (k->wk_keylen < 8)
210 __func__, k->wk_cipher->ic_cipher);
216 "macaddr %s\n", __func__, k->wk_keyix, keyid,
217 k->wk_cipher->ic_cipher, algo, k->wk_flags, k->wk_keylen,
218 ether_sprintf(k->wk_macaddr));
221 rtwn_cam_write(sc, R92C_CAM_CTL6(k->wk_keyix), 0);
222 rtwn_cam_write(sc, R92C_CAM_CTL7(k->wk_keyix), 0);
226 error = rtwn_cam_write(sc, R92C_CAM_KEY(k->wk_keyix, i),
227 le32dec(&k->wk_key[i * 4]));
233 error = rtwn_cam_write(sc, R92C_CAM_CTL1(k->wk_keyix),
234 le32dec(&k->wk_macaddr[2]));
237 error = rtwn_cam_write(sc, R92C_CAM_CTL0(k->wk_keyix),
240 SM(R92C_CAM_MACLO, le16dec(&k->wk_macaddr[0])) |
255 const struct ieee80211_key *k = &data->key;
257 (void) rtwn_key_set_cb0(sc, k);
269 const struct ieee80211_key *k = rvp->keys[i];
270 if (k != NULL) {
271 error = rtwn_key_set_cb0(sc, k);
283 struct ieee80211_key *k = &data->key;
288 k->wk_keyix, k->wk_flags, ether_sprintf(k->wk_macaddr));
290 rtwn_cam_write(sc, R92C_CAM_CTL0(k->wk_keyix), 0);
291 rtwn_cam_write(sc, R92C_CAM_CTL1(k->wk_keyix), 0);
295 rtwn_cam_write(sc, R92C_CAM_KEY(k->wk_keyix, i), 0);
296 clrbit(sc->keys_bmap, k->wk_keyix);
300 rtwn_process_key(struct ieee80211vap *vap, const struct ieee80211_key *k,
305 if (k->wk_flags & IEEE80211_KEY_SWCRYPT) {
310 if (ieee80211_is_key_global(vap, k)) {
315 rvp->keys[k->wk_keyix] = (set ? k : NULL);
318 clrbit(sc->keys_bmap, k->wk_keyix);
326 return (!rtwn_cmd_sleepable(sc, k, sizeof(*k),
331 rtwn_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k)
333 return (rtwn_process_key(vap, k, 1));
337 rtwn_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k)
339 return (rtwn_process_key(vap, k, 0));