summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhinav Kumar <abhikuma@codeaurora.org>2019-03-04 20:48:34 +0530
committernshrivas <nshrivas@codeaurora.org>2019-03-06 02:34:43 -0800
commit52ae50bef6d64076c7830600009cd2bf391e3796 (patch)
tree5b319d7476e31938b9e1a59c6ef7ae22062fa232
parent8ab68a4664378fb8f917cd2365e7ed61f0209448 (diff)
qcacld-3.0: Allow roam invoke while FASTREASSOC
While handling userspace-directed re-association, driver checks for flag "supplicant_disabled_roaming" before sending roam invoke command after connection. Currently, the value of supplicant_disabled_roaming is getting updated by value comes through vendor command QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY. In case if roaming does not get enabled using vendor command in __wlan_hdd_cfg80211_set_fast_roaming, driver rejects fast re-association cmd. This leads to roaming failure. Fix is to allow roam invoke command irrespective of flag "supplicant_disabled_roaming" and send csr_roam_offload_scan with reason REASON_SUPPLICANT_DISABLED_ROAMING instead of REASON_DISCONNECTED while processing FASTREASSOC command. Change-Id: Iee55fff8dd9445a2fb2b96a244f59a763f207dd5 CRs-Fixed: 2408861
-rw-r--r--core/sme/src/common/sme_api.c6
-rw-r--r--core/sme/src/csr/csr_neighbor_roam.c6
2 files changed, 5 insertions, 7 deletions
diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c
index 268a3ff576e7..b64a1d0a1ad3 100644
--- a/core/sme/src/common/sme_api.c
+++ b/core/sme/src/common/sme_api.c
@@ -19364,10 +19364,8 @@ QDF_STATUS sme_fast_reassoc(tHalHandle hal, tCsrRoamProfile *profile,
return QDF_STATUS_E_FAILURE;
}
- if (session->pCurRoamProfile->supplicant_disabled_roaming ||
- session->pCurRoamProfile->driver_disabled_roaming) {
- sme_debug("roaming status in Supplicant %d and in driver %d",
- session->pCurRoamProfile->supplicant_disabled_roaming,
+ if (session->pCurRoamProfile->driver_disabled_roaming) {
+ sme_debug("roaming status in driver %d",
session->pCurRoamProfile->driver_disabled_roaming);
return QDF_STATUS_E_FAILURE;
}
diff --git a/core/sme/src/csr/csr_neighbor_roam.c b/core/sme/src/csr/csr_neighbor_roam.c
index 92157e7a93d8..fa49518bb945 100644
--- a/core/sme/src/csr/csr_neighbor_roam.c
+++ b/core/sme/src/csr/csr_neighbor_roam.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2019 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -144,8 +144,8 @@ QDF_STATUS csr_neighbor_roam_update_fast_roaming_enabled(tpAniSirGlobal mac_ctx,
REASON_CONNECT);
} else {
csr_roam_offload_scan(mac_ctx, session_id,
- ROAM_SCAN_OFFLOAD_STOP,
- REASON_DISCONNECTED);
+ ROAM_SCAN_OFFLOAD_STOP,
+ REASON_SUPPLICANT_DISABLED_ROAMING);
}
sme_release_global_lock(&mac_ctx->sme);
} else {