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
This commit is contained in:
Abhinav Kumar
2019-03-05 17:01:24 +05:30
committed by nshrivas
parent 1d8e2ab528
commit cd737decf2
2 changed files with 4 additions and 6 deletions

View File

@@ -13530,10 +13530,8 @@ QDF_STATUS sme_fast_reassoc(mac_handle_t mac_handle,
}
roam_profile = session->pCurRoamProfile;
if (roam_profile->supplicant_disabled_roaming ||
roam_profile->driver_disabled_roaming) {
sme_debug("roaming status in Supplicant %d and in driver %d",
roam_profile->supplicant_disabled_roaming,
if (roam_profile->driver_disabled_roaming) {
sme_debug("roaming status in driver %d",
roam_profile->driver_disabled_roaming);
return QDF_STATUS_E_FAILURE;
}

View File

@@ -141,8 +141,8 @@ QDF_STATUS csr_neighbor_roam_update_fast_roaming_enabled(struct mac_context *mac
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);
}