aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath9k/recv.c
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2009-01-08 13:32:13 +0200
committerJohn W. Linville <linville@tuxdriver.com>2009-01-29 16:00:10 -0500
commit0ced0e176ab854df15bd307188decba9c06650e5 (patch)
tree328c2e71b43c3ede5fa470e83c76de45f360eafb /drivers/net/wireless/ath9k/recv.c
parentca470b29027f093d8d63abc0fa401cf4f72e427b (diff)
ath9k: Setup MFP options for CCMP
Configure hardware CCMP for management frame protection and use software crypto when needed. Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath9k/recv.c')
-rw-r--r--drivers/net/wireless/ath9k/recv.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath9k/recv.c b/drivers/net/wireless/ath9k/recv.c
index 462e08c3d09..dbf24be23cc 100644
--- a/drivers/net/wireless/ath9k/recv.c
+++ b/drivers/net/wireless/ath9k/recv.c
@@ -593,6 +593,12 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush)
if (test_bit(keyix, sc->sc_keymap))
rx_status.flag |= RX_FLAG_DECRYPTED;
}
+ if (ah->sw_mgmt_crypto &&
+ (rx_status.flag & RX_FLAG_DECRYPTED) &&
+ ieee80211_is_mgmt(hdr->frame_control)) {
+ /* Use software decrypt for management frames. */
+ rx_status.flag &= ~RX_FLAG_DECRYPTED;
+ }
/* Send the frame to mac80211 */
__ieee80211_rx(sc->hw, skb, &rx_status);