Linux wireless drivers development
 help / color / mirror / Atom feed
From: Bing Zhao <bzhao@marvell.com>
To: <linux-wireless@vger.kernel.org>
Cc: "John W. Linville" <linville@tuxdriver.com>,
	Amitkumar Karwar <akarwar@marvell.com>,
	Avinash Patil <patila@marvell.com>,
	Yogesh Ashok Powar <yogeshp@marvell.com>,
	Nishant Sarmukadam <nishants@marvell.com>,
	Frank Huang <frankh@marvell.com>, Bing Zhao <bzhao@marvell.com>
Subject: [PATCH v2 04/17] mwifiex: abort remaining scan commands when association started
Date: Fri, 17 May 2013 17:50:21 -0700	[thread overview]
Message-ID: <1368838234-32585-5-git-send-email-bzhao@marvell.com> (raw)
In-Reply-To: <1368838234-32585-1-git-send-email-bzhao@marvell.com>

A full-channel scan is split to multiple scan commands in driver
before they are sent to firmware. When each scan result is back
the SSID entries are parsed and informed to cfg80211 directly.

It's observed that sometimes userspace may initiate association
as soon as the target AP is found. During the 4-way handshake
firmware may go off-channel to scan the remaining channels.
This causes the 4-way handshake to fail.

Fix it by checking 'scan_block' flag and aborting the remaining
scan in this case. 'scan_block' flag is set after association
and before 4-way handshake. It gets cleared after 4-way handshake
is completed.

Tested-by: Jason Abele <jabele@chromium.org>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
---
 drivers/net/wireless/mwifiex/scan.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/mwifiex/scan.c b/drivers/net/wireless/mwifiex/scan.c
index 7b2566b..801b6b7 100644
--- a/drivers/net/wireless/mwifiex/scan.c
+++ b/drivers/net/wireless/mwifiex/scan.c
@@ -1793,7 +1793,8 @@ check_next_scan:
 			dev_dbg(adapter->dev, "info: scan already aborted\n");
 		}
 	} else {
-		if (priv->scan_aborting && !priv->scan_request) {
+		if ((priv->scan_aborting && !priv->scan_request) ||
+		    priv->scan_block) {
 			spin_unlock_irqrestore(&adapter->scan_pending_q_lock,
 					       flags);
 			adapter->scan_delay_cnt = MWIFIEX_MAX_SCAN_DELAY_CNT;
-- 
1.8.2.3


  parent reply	other threads:[~2013-05-18  0:50 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-18  0:50 [PATCH v2 00/17] mwifiex updates for 3.11 Bing Zhao
2013-05-18  0:50 ` [PATCH v2 01/17] mwifiex: rename mwifiex_free_adapter() routine in init.c Bing Zhao
2013-05-18  0:50 ` [PATCH v2 02/17] mwifiex: scan delay timer cleanup in unload path Bing Zhao
2013-05-18  0:50 ` [PATCH v2 03/17] mwifiex: remove global user_scan_cfg variable Bing Zhao
2013-05-18  0:50 ` Bing Zhao [this message]
2013-05-18  0:50 ` [PATCH v2 05/17] mwifiex: avoid deleting all stations during mwifiex_del_sta_entry() Bing Zhao
2013-05-18  0:50 ` [PATCH v2 06/17] mwifiex: add del_station handler Bing Zhao
2013-05-18  0:50 ` [PATCH v2 07/17] mwifiex: replace spin_lock_irqsave with spin_lock and fix warn_on Bing Zhao
2013-05-18  0:50 ` [PATCH v2 08/17] mwifiex: add calibration data download feature Bing Zhao
2013-05-18  0:50 ` [PATCH v2 09/17] mwifiex: use u32 variables for SDIO read/write port bitmap Bing Zhao
2013-05-18  0:50 ` [PATCH v2 10/17] mwifiex: store SDIO chip specific information in separate structure Bing Zhao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1368838234-32585-5-git-send-email-bzhao@marvell.com \
    --to=bzhao@marvell.com \
    --cc=akarwar@marvell.com \
    --cc=frankh@marvell.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=nishants@marvell.com \
    --cc=patila@marvell.com \
    --cc=yogeshp@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox