CHROMIUM: mwifiex: return -EBUSY if specific scan request cannot be honored
authorBing Zhao <bzhao@marvell.com>
Fri, 12 Oct 2012 21:54:55 +0000 (14:54 -0700)
committerGerrit <chrome-bot@google.com>
Sat, 13 Oct 2012 21:52:03 +0000 (14:52 -0700)
Previous patch "mwifiex: return -EBUSY if scan request cannot.."
corrected regular scan request only. There is another case for
specific scan that needs the same handling.

BUG=chrome-os-partner:15087
TEST=(1) On Wi-Fi Network Settings, enable Wi-Fi and connect to AP,
then disable Wi-Fi. Repeat above test multiple time.
(2) Associated to AP and run "iw mlan0 scan" in a 'while' loop.

Change-Id: I8168eb109983223b7f27af6f8d84048fbd276811
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/35478
Reviewed-by: Ryan Cairns <rtc@chromium.org>
drivers/net/wireless/mwifiex/scan.c

index 63d5381..3afaace 100644 (file)
@@ -1829,21 +1829,18 @@ static int mwifiex_scan_specific_ssid(struct mwifiex_private *priv,
                                      struct cfg80211_ssid *req_ssid)
 {
        struct mwifiex_adapter *adapter = priv->adapter;
-       int ret = 0;
+       int ret;
        struct mwifiex_user_scan_cfg *scan_cfg;
 
-       if (!req_ssid)
-               return -1;
-
        if (adapter->scan_processing) {
-               dev_dbg(adapter->dev, "cmd: Scan already in process...\n");
-               return ret;
+               dev_err(adapter->dev, "cmd: Scan already in process...\n");
+               return -EBUSY;
        }
 
        if (priv->scan_block) {
-               dev_dbg(adapter->dev,
+               dev_err(adapter->dev,
                        "cmd: Scan is blocked during association...\n");
-               return ret;
+               return -EBUSY;
        }
 
        scan_cfg = kzalloc(sizeof(struct mwifiex_user_scan_cfg), GFP_KERNEL);