summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2010-01-25 11:36:16 +0100
committerJohn W. Linville <linville@tuxdriver.com>2010-01-25 16:36:29 -0500
commit382b16559d599c4260aeb82a5ea5ba44459d1cd2 (patch)
treedcb1b16424bf90aea7712625c2975b60c9fe9dc0
parent1396b231b0369c4146988c2f42fb416ae19e2572 (diff)
downloadlinux-382b16559d599c4260aeb82a5ea5ba44459d1cd2.tar.bz2
mac80211: fix sw crypto
What a stupid mistake. In commit 813d76694043d00b59475baa1fbfaf54a2eb7fad Author: Johannes Berg <johannes@sipsolutions.net> Date: Sun Jan 17 01:47:58 2010 +0100 mac80211: move control.hw_key assignment I inserted code testing the wrong flags field, which means that the test is almost always true (it's really testing for the peer's WMM support) and thus the later parts of the stack assume hw crypto will be done even if that's not true. Obviously, that broke software crypto. Maxim said so specifically, and Jochen probably uses some cipher that iwl3945 doesn't support in hardware, which might also explain that Maxim reports that even hw crypto is broken. Fix this to test the right flags field. Reported-by: Maxim Levitsky <maximlevitsky@gmail.com> Reported-by: Jochen Friedrich <jochen@scram.de> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--net/mac80211/tx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index d017b3530d4d..14c70452c245 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -559,7 +559,7 @@ ieee80211_tx_h_select_key(struct ieee80211_tx_data *tx)
}
if (!skip_hw && tx->key &&
- tx->key->conf.flags & KEY_FLAG_UPLOADED_TO_HARDWARE)
+ tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE)
info->control.hw_key = &tx->key->conf;
}