diff options
author | Stone Piao <piaoyun@marvell.com> | 2013-07-23 04:17:43 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-07-24 17:02:06 +0200 |
commit | eaf49dbc4b7ef7e9fe420713730e403c9ba0bef1 (patch) | |
tree | 31c70d138aeb0b02737503bd3f066b76369f2e17 /drivers/net/wireless | |
parent | mwifiex: add tx info to skb when forming mgmt frame (diff) | |
download | linux-eaf49dbc4b7ef7e9fe420713730e403c9ba0bef1.tar.xz linux-eaf49dbc4b7ef7e9fe420713730e403c9ba0bef1.zip |
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')
-rw-r--r-- | drivers/net/wireless/mwifiex/sta_event.c | 10 |
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 ea265ec0e522..8b057524b252 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 = |