mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
qcacld-3.0: Use common scan api to wait on scan to get completed
Add changes to use common scan api to wait on scan to get completed Change-Id: I45181908a6a81de21e4ba906f54ae3190aa212d0 CRs-Fixed: 2038093
This commit is contained in:
parent
7f00499ee9
commit
69ccb5164f
7 changed files with 24 additions and 78 deletions
|
|
@ -14756,9 +14756,8 @@ static int __wlan_hdd_cfg80211_disconnect(struct wiphy *wiphy,
|
|||
pScanInfo = &pAdapter->scan_info;
|
||||
if (pScanInfo->mScanPending) {
|
||||
hdd_debug("Disconnect is in progress, Aborting Scan");
|
||||
hdd_abort_mac_scan(pHddCtx, pAdapter->sessionId,
|
||||
INVALID_SCAN_ID,
|
||||
eCSR_SCAN_ABORT_DEFAULT);
|
||||
wlan_abort_scan(pHddCtx->hdd_pdev, INVAL_PDEV_ID,
|
||||
pAdapter->sessionId, INVALID_SCAN_ID, false);
|
||||
}
|
||||
wlan_hdd_cleanup_remain_on_channel_ctx(pAdapter);
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
|
|
|
|||
|
|
@ -1675,9 +1675,8 @@ QDF_STATUS hdd_hostapd_sap_event_cb(tpSap_Event pSapEvent,
|
|||
pScanInfo = &pHostapdAdapter->scan_info;
|
||||
/* Lets abort scan to ensure smooth authentication for client */
|
||||
if ((pScanInfo != NULL) && pScanInfo->mScanPending) {
|
||||
hdd_abort_mac_scan(pHddCtx, pHostapdAdapter->sessionId,
|
||||
INVALID_SCAN_ID,
|
||||
eCSR_SCAN_ABORT_DEFAULT);
|
||||
wlan_abort_scan(pHddCtx->hdd_pdev, INVAL_PDEV_ID,
|
||||
pHostapdAdapter->sessionId, INVALID_SCAN_ID, false);
|
||||
}
|
||||
if (pHostapdAdapter->device_mode == QDF_P2P_GO_MODE) {
|
||||
/* send peer status indication to oem app */
|
||||
|
|
@ -8042,7 +8041,6 @@ static int __wlan_hdd_cfg80211_stop_ap(struct wiphy *wiphy,
|
|||
tSirUpdateIE updateIE;
|
||||
beacon_data_t *old;
|
||||
int ret;
|
||||
unsigned long rc;
|
||||
hdd_adapter_list_node_t *pAdapterNode = NULL;
|
||||
hdd_adapter_list_node_t *pNext = NULL;
|
||||
|
||||
|
|
@ -8101,19 +8099,8 @@ static int __wlan_hdd_cfg80211_stop_ap(struct wiphy *wiphy,
|
|||
if (pScanInfo && pScanInfo->mScanPending) {
|
||||
hdd_debug("Aborting pending scan for device mode:%d",
|
||||
staAdapter->device_mode);
|
||||
INIT_COMPLETION(pScanInfo->abortscan_event_var);
|
||||
hdd_abort_mac_scan(staAdapter->pHddCtx,
|
||||
staAdapter->sessionId,
|
||||
INVALID_SCAN_ID,
|
||||
eCSR_SCAN_ABORT_DEFAULT);
|
||||
rc = wait_for_completion_timeout(
|
||||
&pScanInfo->abortscan_event_var,
|
||||
msecs_to_jiffies(
|
||||
WLAN_WAIT_TIME_ABORTSCAN));
|
||||
if (!rc) {
|
||||
hdd_err("Timeout occurred while waiting for abortscan");
|
||||
QDF_ASSERT(pScanInfo->mScanPending);
|
||||
}
|
||||
wlan_abort_scan(pHddCtx->hdd_pdev, INVAL_PDEV_ID,
|
||||
staAdapter->sessionId, INVALID_SCAN_ID, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -438,19 +438,8 @@ static int __hdd_netdev_notifier_call(struct notifier_block *nb,
|
|||
|
||||
case NETDEV_GOING_DOWN:
|
||||
if (adapter->scan_info.mScanPending != false) {
|
||||
unsigned long rc;
|
||||
|
||||
INIT_COMPLETION(adapter->scan_info.
|
||||
abortscan_event_var);
|
||||
hdd_abort_mac_scan(adapter->pHddCtx,
|
||||
adapter->sessionId,
|
||||
INVALID_SCAN_ID,
|
||||
eCSR_SCAN_ABORT_DEFAULT);
|
||||
rc = wait_for_completion_timeout(
|
||||
&adapter->scan_info.abortscan_event_var,
|
||||
msecs_to_jiffies(WLAN_WAIT_TIME_ABORTSCAN));
|
||||
if (!rc)
|
||||
hdd_err("Timeout occurred while waiting for abortscan");
|
||||
wlan_abort_scan(hdd_ctx->hdd_pdev, INVAL_PDEV_ID,
|
||||
adapter->sessionId, INVALID_SCAN_ID, true);
|
||||
} else {
|
||||
hdd_debug("Scan is not Pending from user");
|
||||
}
|
||||
|
|
@ -4898,9 +4887,8 @@ QDF_STATUS hdd_abort_mac_scan_all_adapters(hdd_context_t *hdd_ctx)
|
|||
(adapter->device_mode == QDF_P2P_DEVICE_MODE) ||
|
||||
(adapter->device_mode == QDF_SAP_MODE) ||
|
||||
(adapter->device_mode == QDF_P2P_GO_MODE)) {
|
||||
hdd_abort_mac_scan(hdd_ctx, adapter->sessionId,
|
||||
INVALID_SCAN_ID,
|
||||
eCSR_SCAN_ABORT_DEFAULT);
|
||||
wlan_abort_scan(hdd_ctx->hdd_pdev, INVAL_PDEV_ID,
|
||||
adapter->sessionId, INVALID_SCAN_ID, false);
|
||||
}
|
||||
status = hdd_get_next_adapter(hdd_ctx, adapterNode, &pNext);
|
||||
adapterNode = pNext;
|
||||
|
|
|
|||
|
|
@ -2289,9 +2289,8 @@ struct wireless_dev *__wlan_hdd_add_virtual_intf(struct wiphy *wiphy,
|
|||
!(wlan_hdd_validate_session_id(pAdapter->sessionId))) {
|
||||
scan_info = &pAdapter->scan_info;
|
||||
if (scan_info->mScanPending) {
|
||||
hdd_abort_mac_scan(pHddCtx, pAdapter->sessionId,
|
||||
INVALID_SCAN_ID,
|
||||
eCSR_SCAN_ABORT_DEFAULT);
|
||||
wlan_abort_scan(pHddCtx->hdd_pdev, INVAL_PDEV_ID,
|
||||
pAdapter->sessionId, INVALID_SCAN_ID, false);
|
||||
hdd_debug("Abort Scan while adding virtual interface");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1832,23 +1832,9 @@ next_adapter:
|
|||
return -EAGAIN;
|
||||
}
|
||||
|
||||
if (pScanInfo->mScanPending) {
|
||||
INIT_COMPLETION(pScanInfo->abortscan_event_var);
|
||||
hdd_abort_mac_scan(pHddCtx, pAdapter->sessionId,
|
||||
INVALID_SCAN_ID,
|
||||
eCSR_SCAN_ABORT_DEFAULT);
|
||||
|
||||
status =
|
||||
wait_for_completion_timeout(&pScanInfo->
|
||||
abortscan_event_var,
|
||||
msecs_to_jiffies(WLAN_WAIT_TIME_ABORTSCAN));
|
||||
if (!status) {
|
||||
hdd_err("Timeout occurred while waiting for abort scan");
|
||||
wlan_hdd_inc_suspend_stats(pHddCtx,
|
||||
SUSPEND_FAIL_SCAN);
|
||||
return -ETIME;
|
||||
}
|
||||
}
|
||||
if (pScanInfo->mScanPending)
|
||||
wlan_abort_scan(pHddCtx->hdd_pdev, INVAL_PDEV_ID,
|
||||
pAdapter->sessionId, INVALID_SCAN_ID, true);
|
||||
status = hdd_get_next_adapter(pHddCtx, pAdapterNode, &pNext);
|
||||
pAdapterNode = pNext;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1031,7 +1031,8 @@ void hdd_abort_mac_scan(hdd_context_t *pHddCtx, uint8_t sessionId,
|
|||
#ifndef NAPIER_SCAN
|
||||
sme_abort_mac_scan(pHddCtx->hHal, sessionId, scan_id, reason);
|
||||
#else
|
||||
wlan_abort_scan(pHddCtx->hdd_pdev, INVAL_PDEV_ID, sessionId, scan_id);
|
||||
wlan_abort_scan(pHddCtx->hdd_pdev, INVAL_PDEV_ID,
|
||||
sessionId, scan_id, false);
|
||||
#endif
|
||||
}
|
||||
/**
|
||||
|
|
@ -2430,10 +2431,8 @@ static int __wlan_hdd_vendor_abort_scan(
|
|||
cookie);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
hdd_abort_mac_scan(hdd_ctx,
|
||||
HDD_SESSION_ID_INVALID,
|
||||
scan_id,
|
||||
eCSR_SCAN_ABORT_DEFAULT);
|
||||
wlan_abort_scan(hdd_ctx->hdd_pdev, INVAL_PDEV_ID,
|
||||
HDD_SESSION_ID_INVALID, scan_id, false);
|
||||
}
|
||||
#else
|
||||
wlan_vendor_abort_scan(hdd_ctx->hdd_pdev, data,
|
||||
|
|
@ -2480,23 +2479,12 @@ int wlan_hdd_scan_abort(hdd_adapter_t *pAdapter)
|
|||
{
|
||||
hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
|
||||
hdd_scaninfo_t *pScanInfo = NULL;
|
||||
unsigned long rc;
|
||||
|
||||
pScanInfo = &pAdapter->scan_info;
|
||||
|
||||
if (pScanInfo->mScanPending) {
|
||||
INIT_COMPLETION(pScanInfo->abortscan_event_var);
|
||||
hdd_abort_mac_scan(pHddCtx, pAdapter->sessionId,
|
||||
INVALID_SCAN_ID, eCSR_SCAN_ABORT_DEFAULT);
|
||||
|
||||
rc = wait_for_completion_timeout(
|
||||
&pScanInfo->abortscan_event_var,
|
||||
msecs_to_jiffies(5000));
|
||||
if (!rc) {
|
||||
hdd_err("Timeout occurred while waiting for abort scan");
|
||||
return -ETIME;
|
||||
}
|
||||
}
|
||||
if (pScanInfo->mScanPending)
|
||||
wlan_abort_scan(pHddCtx->hdd_pdev, INVAL_PDEV_ID,
|
||||
pAdapter->sessionId, INVALID_SCAN_ID, true);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12374,9 +12374,8 @@ int hdd_set_band(struct net_device *dev, u8 ui_band)
|
|||
while (NULL != pAdapterNode && QDF_STATUS_SUCCESS == status) {
|
||||
pAdapter = pAdapterNode->pAdapter;
|
||||
hHal = WLAN_HDD_GET_HAL_CTX(pAdapter);
|
||||
hdd_abort_mac_scan(pHddCtx, pAdapter->sessionId,
|
||||
INVALID_SCAN_ID,
|
||||
eCSR_SCAN_ABORT_DUE_TO_BAND_CHANGE);
|
||||
wlan_abort_scan(pHddCtx->hdd_pdev, INVAL_PDEV_ID,
|
||||
pAdapter->sessionId, INVALID_SCAN_ID, false);
|
||||
connectedBand =
|
||||
hdd_conn_get_connected_band
|
||||
(WLAN_HDD_GET_STATION_CTX_PTR(pAdapter));
|
||||
|
|
|
|||
Loading…
Reference in a new issue