summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex
diff options
context:
space:
mode:
authorStone Piao <piaoyun@marvell.com>2013-07-22 19:17:43 -0700
committerJohn W. Linville <linville@tuxdriver.com>2013-07-24 11:02:06 -0400
commiteaf49dbc4b7ef7e9fe420713730e403c9ba0bef1 (patch)
tree31c70d138aeb0b02737503bd3f066b76369f2e17 /drivers/net/wireless/mwifiex
parent231d83e29e44e39d987ea4c33caf7869cf5ef4c7 (diff)
downloadop-kernel-dev-eaf49dbc4b7ef7e9fe420713730e403c9ba0bef1.zip
op-kernel-dev-eaf49dbc4b7ef7e9fe420713730e403c9ba0bef1.tar.gz
mwifiex: discard deauth and disassoc event during WPS session
Some GO will send deauth or disassoc packet at the end of WPS handshake, which causes P2P connecion failure due to the race condition between event path and data path. Signed-off-by: Stone Piao <piaoyun@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/mwifiex')
-rw-r--r--drivers/net/wireless/mwifiex/sta_event.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/mwifiex/sta_event.c b/drivers/net/wireless/mwifiex/sta_event.c
index ea265ec..8b05752 100644
--- a/drivers/net/wireless/mwifiex/sta_event.c
+++ b/drivers/net/wireless/mwifiex/sta_event.c
@@ -201,6 +201,11 @@ int mwifiex_process_sta_event(struct mwifiex_private *priv)
case EVENT_DEAUTHENTICATED:
dev_dbg(adapter->dev, "event: Deauthenticated\n");
+ if (priv->wps.session_enable) {
+ dev_dbg(adapter->dev,
+ "info: receive deauth event in wps session\n");
+ break;
+ }
adapter->dbg.num_event_deauth++;
if (priv->media_connected) {
reason_code =
@@ -211,6 +216,11 @@ int mwifiex_process_sta_event(struct mwifiex_private *priv)
case EVENT_DISASSOCIATED:
dev_dbg(adapter->dev, "event: Disassociated\n");
+ if (priv->wps.session_enable) {
+ dev_dbg(adapter->dev,
+ "info: receive disassoc event in wps session\n");
+ break;
+ }
adapter->dbg.num_event_disassoc++;
if (priv->media_connected) {
reason_code =
OpenPOWER on IntegriCloud