--- /dev/null
+From stable-bounces@linux.kernel.org Fri Mar 24 21:34:41 2006
+Message-Id: <20060325053114.138951000@localhost>
+Date: Fri, 24 Mar 2006 21:24:55 -0800
+From: Jouni Malinen <jkmaline@cc.hut.fi>
+To: "John W. Linville" <linville@tuxdriver.com>
+Content-Disposition: inline; filename=hostap_fix_eapol_crypt.diff
+Cc: netdev@vger.kernel.org, stable@kernel.org
+Subject: [stable] [PATCH 2/2] hostap: Fix EAPOL frame encryption
+
+Fixed encrypted of EAPOL frames from wlan#ap interface (hostapd). This
+was broken when moving to use new frame control field defines in
+net/ieee80211.h. hostapd uses Protected flag, not protocol version
+(which was cleared in this function anyway). This fixes WPA group key
+handshake and re-authentication.
+http://hostap.epitest.fi/bugz/show_bug.cgi?id=126
+
+Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
+
+
+---
+ drivers/net/wireless/hostap/hostap_80211_tx.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-2.6.16.1.orig/drivers/net/wireless/hostap/hostap_80211_tx.c
++++ linux-2.6.16.1/drivers/net/wireless/hostap/hostap_80211_tx.c
+@@ -469,7 +469,7 @@ int hostap_master_start_xmit(struct sk_b
+ }
+
+ if (local->ieee_802_1x && meta->ethertype == ETH_P_PAE && tx.crypt &&
+- !(fc & IEEE80211_FCTL_VERS)) {
++ !(fc & IEEE80211_FCTL_PROTECTED)) {
+ no_encrypt = 1;
+ PDEBUG(DEBUG_EXTRA2, "%s: TX: IEEE 802.1X - passing "
+ "unencrypted EAPOL frame\n", dev->name);