summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorStone Piao <piaoyun@marvell.com>2012-06-20 20:21:11 -0700
committerJohn W. Linville <linville@tuxdriver.com>2012-06-22 13:59:49 -0400
commitf03ba7e9a24e5e9efaad56bd1713b994ea556b16 (patch)
treea251ea7e4b1c421a134ffff40aaa1c2c115f44ae /drivers/net
parent925839243dc9aa4ef25305f5afd10ed18258a4ac (diff)
downloadlinux-f03ba7e9a24e5e9efaad56bd1713b994ea556b16.tar.gz
linux-f03ba7e9a24e5e9efaad56bd1713b994ea556b16.tar.bz2
linux-f03ba7e9a24e5e9efaad56bd1713b994ea556b16.zip
mwifiex: fix WPS eapol handshake failure
After association, STA will go through eapol handshake with WPS enabled AP. It's observed that WPS handshake fails with some 11n AP. The reason for the failure is that the eapol packet is sent via 11n frame aggregation. The eapol packet should be sent directly without 11n aggregation. This patch fixes the problem by adding WPS session control while dequeuing Tx packets for transmission. Cc: "3.4.y" <stable@vger.kernel.org> Signed-off-by: Stone Piao <piaoyun@marvell.com> Signed-off-by: Avinash Patil <patila@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/mwifiex/wmm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/mwifiex/wmm.c b/drivers/net/wireless/mwifiex/wmm.c
index 8c2b5c0aa754..3fa4d4176993 100644
--- a/drivers/net/wireless/mwifiex/wmm.c
+++ b/drivers/net/wireless/mwifiex/wmm.c
@@ -1223,6 +1223,7 @@ mwifiex_dequeue_tx_packet(struct mwifiex_adapter *adapter)
if (!ptr->is_11n_enabled ||
mwifiex_is_ba_stream_setup(priv, ptr, tid) ||
+ priv->wps.session_enable ||
((priv->sec_info.wpa_enabled ||
priv->sec_info.wpa2_enabled) &&
!priv->wpa_is_gtk_set)) {