* have no way to check if they've already
* been allocated.
*/
- *keyix = *rxkeyix = k - vap->iv_nw_keys;
+ *keyix = *rxkeyix =
+ ieee80211_crypto_get_key_wepidx(vap, k);
return 1;
}
/*
return 0;
}
/* give the caller what they requested */
- *keyix = *rxkeyix = k - vap->iv_nw_keys;
+ *keyix = *rxkeyix = ieee80211_crypto_get_key_wepidx(vap, k);
} else {
/*
* Firmware handles key allocation.
if (&vap->iv_nw_keys[0] <= k &&
k < &vap->iv_nw_keys[IEEE80211_WEP_NKID]) {
+#if __FreeBSD_version > 1200018
+ *keyix = ieee80211_crypto_get_key_wepidx(vap, k);
+#else
*keyix = k - vap->iv_nw_keys;
+#endif
if (sc->sc_hwcrypto != RTWN_CRYPTO_FULL)
k->wk_flags |= IEEE80211_KEY_SWCRYPT;
else {
if (&vap->iv_nw_keys[0] <= k &&
k < &vap->iv_nw_keys[IEEE80211_WEP_NKID]) {
- *keyix = k - vap->iv_nw_keys;
+ *keyix = ieee80211_crypto_get_key_wepidx(vap, k);
} else {
if (vap->iv_opmode != IEEE80211_M_STA) {
*keyix = 0;
} else
*keyix = 0;
} else {
- *keyix = k - vap->iv_nw_keys;
+ *keyix = ieee80211_crypto_get_key_wepidx(vap, k);
}
*rxkeyix = *keyix;
return 1;
return 0;
*keyix = 0; /* NB: use key index 0 for ucast key */
} else {
- *keyix = k - vap->iv_nw_keys;
+ *keyix = ieee80211_crypto_get_key_wepidx(vap, k);
}
*rxkeyix = IEEE80211_KEYIX_NONE; /* XXX maybe *keyix? */
return 1;