]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
mwifiex: fix WPS eapol handshake failure
authorStone Piao <piaoyun@marvell.com>
Thu, 21 Jun 2012 03:21:11 +0000 (20:21 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 22 Jun 2012 17:59:49 +0000 (13:59 -0400)
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>
drivers/net/wireless/mwifiex/wmm.c

index 8c2b5c0aa7541062c0152f7702f861802b6bc283..3fa4d417699381225e853a56238e0d8506a2f99b 100644 (file)
@@ -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)) {