diff options
| author | Paul Zhang <paulz@codeaurora.org> | 2018-11-06 16:18:51 +0800 |
|---|---|---|
| committer | nshrivas <nshrivas@codeaurora.org> | 2018-11-09 04:03:55 -0800 |
| commit | 08a310b3aff688bc3dbf322779f9d9f3d7cfddbc (patch) | |
| tree | f4ca1557a25912cef18fa8d99c41851df247608c | |
| parent | e69539a5c60b9e3d7f083c86482f5936bdb214f0 (diff) | |
qcacld-3.0: Avoid race when uplayer triggers reassoc
When supplicant tries to reassoc AP, it will set PSK
before issue connection. In driver, it invokes function
__wlan_hdd_cfg80211_keymgmt_set_key and then
__wlan_hdd_cfg80211_connect.
__wlan_hdd_cfg80211_keymgmt_set_key puts
eWNI_SME_ROAM_SCAN_OFFLOAD_REQ to PE queue, then puts
WMA_ROAM_SCAN_OFFLOAD_REQ to WMA queue.
__wlan_hdd_cfg80211_connect puts SIR_HAL_ROAM_INVOKE to
WMA queue directly.
If the command SIR_HAL_ROAM_INVOKE is issued to fw before
WMA_ROAM_SCAN_OFFLOAD_REQ, then roaming scan is canceled
because scan mode is set.
To avoid this race, send SIR_HAL_ROAM_INVOKE to PE queue,
and then to WMA queue as well.
Change-Id: I08624efc466085e49fa4201deb221276ec5c260f
Rs-Fixed: 2344710
| -rw-r--r-- | core/sme/src/common/sme_api.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c index f17ea5c16a7b..665ba336e4dd 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -19392,12 +19392,12 @@ QDF_STATUS sme_fast_reassoc(tHalHandle hal, tCsrRoamProfile *profile, } } - msg.type = SIR_HAL_ROAM_INVOKE; + msg.type = eWNI_SME_ROAM_INVOKE; msg.reserved = 0; msg.bodyptr = fastreassoc; - status = cds_mq_post_message(QDF_MODULE_ID_WMA, &msg); + status = cds_mq_post_message(QDF_MODULE_ID_PE, &msg); if (QDF_STATUS_SUCCESS != status) { - sme_err("Not able to post ROAM_INVOKE_CMD message to WMA"); + sme_err("Not able to post ROAM_INVOKE_CMD message to PE"); qdf_mem_free(fastreassoc); } |
