qcacld-3.0: Fix peer unmap failure due to invalid roam scan mode value
When supplicant disables firmware roam, RSO stop command with roam scan mode value 4 is sent to firmware and this value 4 indicates the firmare to enable only Forced roam trigger(roam invoke command from host). But before ROAM_DEINIT(WMI_VDEV_PARAM_ROAM_FW_OFFLOAD with value zero) is posted to firmware, the roam scan mode should be 0 or else there could be potential peer unmap failures if firmware has already started roam and disconnect is triggered from north bound or from peer. To avoid this, in the roam offload state machine handle the state switch from RSO stopped to deinit if supplicant disabled roaming flag is set and send RSO stop with roam scan mode value 0 to firmware. Change-Id: I6ff39f43bd75c95ed03c357a5602e25a5a0ffd92 CRs-Fixed: 3229082
This commit is contained in:

committed by
Madan Koyyalamudi

parent
070d2de851
commit
71d3e7c17c
@@ -3785,8 +3785,11 @@ cm_roam_switch_to_deinit(struct wlan_objmgr_pdev *pdev,
|
||||
if (sup_disabled_roam) {
|
||||
mlme_err("vdev[%d]: supplicant disabled roam. clear roam scan mode",
|
||||
vdev_id);
|
||||
cm_roam_switch_to_rso_stop(pdev, vdev_id, reason,
|
||||
NULL, false);
|
||||
status = cm_roam_stop_req(psoc, vdev_id,
|
||||
REASON_DISCONNECTED,
|
||||
NULL, false);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
mlme_err("ROAM: Unable to clear roam scan mode");
|
||||
}
|
||||
break;
|
||||
case WLAN_ROAM_INIT:
|
||||
|
Reference in New Issue
Block a user