On 2011-08-08 1:19 PM, Bill Jordan wrote: > The first 4 hardware key indexes are reserved for WEP, but > never programmed. The result was that WEP always used > software decryption. > > Signed-off-by: Bill Jordan<bjor...@rajant.com> > --- > drivers/net/wireless/ath/key.c | 8 +++++--- > 1 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/wireless/ath/key.c b/drivers/net/wireless/ath/key.c > index 17b0efd..73177f1 100644 > --- a/drivers/net/wireless/ath/key.c > +++ b/drivers/net/wireless/ath/key.c > @@ -501,7 +501,11 @@ int ath_key_config(struct ath_common *common, > if (key->keylen) > memcpy(hk.kv_val, key->key, key->keylen); > > - if (!(key->flags& IEEE80211_KEY_FLAG_PAIRWISE)) { > + if (hk.kv_type == ATH_CIPHER_WEP) { > + if (key->keyidx>= IEEE80211_WEP_NKID) > + return -EOPNOTSUPP; > + idx = key->keyidx; > + } else if (!(key->flags& IEEE80211_KEY_FLAG_PAIRWISE)) { I'm not sure this is a good idea, this would break adding pairwise WEP keys. Also, maybe WEP keys could use the BSSID in the lookup to avoid the first 4 keycache slots, that way it'd work properly in multi-BSSID AP setups.
- Felix _______________________________________________ ath9k-devel mailing list ath9k-devel@lists.ath9k.org https://lists.ath9k.org/mailman/listinfo/ath9k-devel