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:
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user