summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbings <bings@codeaurora.org>2017-04-05 07:50:39 +0800
committerSandeep Puligilla <spuligil@codeaurora.org>2017-04-06 14:11:23 -0700
commitc0609864e038bfa610c1bed7a55604efcad89ae6 (patch)
tree80614faed4830fde2f8d0d12d88ad2c4ba453c3f
parent35cc99734a9f69d5ec1ecc0973960c6da6a1da6f (diff)
qcacld-3.0: Vendor scan done event should be used for vendor scan
If the scan is triggered by vendor, driver should send vendor scan done event; otherwise supplicant can't get scan results. Change-Id: I49403a0b6e056936832a28d90f299e66d5b96340 CRs-Fixed: 2029208
-rw-r--r--core/hdd/inc/wlan_hdd_main.h1
-rw-r--r--core/hdd/src/wlan_hdd_scan.c7
2 files changed, 7 insertions, 1 deletions
diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h
index fdd468fd7cfe..94bf859cc44e 100644
--- a/core/hdd/inc/wlan_hdd_main.h
+++ b/core/hdd/inc/wlan_hdd_main.h
@@ -1029,6 +1029,7 @@ struct hdd_adapter_s {
/* TODO Move this to sta Ctx */
struct wireless_dev wdev;
struct cfg80211_scan_request *request;
+ uint8_t scan_source;
/** ops checks if Opportunistic Power Save is Enable or Not
* ctw stores ctWindow value once we receive Opps command from
diff --git a/core/hdd/src/wlan_hdd_scan.c b/core/hdd/src/wlan_hdd_scan.c
index 6bf939e178f1..73af494e5e41 100644
--- a/core/hdd/src/wlan_hdd_scan.c
+++ b/core/hdd/src/wlan_hdd_scan.c
@@ -1383,7 +1383,10 @@ static void wlan_hdd_cfg80211_scan_block_cb(struct work_struct *work)
request->n_channels = 0;
hdd_err("##In DFS Master mode. Scan aborted. Null result sent");
- hdd_cfg80211_scan_done(adapter, request, true);
+ if (NL_SCAN == adapter->scan_source)
+ hdd_cfg80211_scan_done(adapter, request, true);
+ else
+ hdd_vendor_scan_callback(adapter, request, true);
adapter->request = NULL;
}
}
@@ -1637,6 +1640,7 @@ static int __wlan_hdd_cfg80211_scan(struct wiphy *wiphy,
*/
hdd_err("##In DFS Master mode. Scan aborted");
pAdapter->request = request;
+ pAdapter->scan_source = source;
INIT_WORK(&pAdapter->scan_block_work,
wlan_hdd_cfg80211_scan_block_cb);
@@ -1742,6 +1746,7 @@ static int __wlan_hdd_cfg80211_scan(struct wiphy *wiphy,
wlan_hdd_sap_skip_scan_check(pHddCtx, request)) {
hdd_debug("sap scan skipped");
pAdapter->request = request;
+ pAdapter->scan_source = source;
INIT_WORK(&pAdapter->scan_block_work,
wlan_hdd_cfg80211_scan_block_cb);
schedule_work(&pAdapter->scan_block_work);