qcacld-3.0: Send TDLS notify sta disconnect on roam
Currently, TDLS STA disconnect notification is not sent during roam, so WMI_TDLS_SET_STATE_CMDID with disable command is not sent to firmware. This leads to unexpected behavior in firmware when STA have migrated to different mac based on new band (2 GHz to 5/6 GHz or vice-versa) due to roaming, but TDLS STA remain on previous mac. Firmware expects host to send WMI_TDLS_SET_STATE_CMDID on roam also so that it can destroy and create new TDLS STA instance and map TDLS STA to new mac. To fix above issue, send WMI_TDLS_SET_STATE_CMDID with disable TDLS state to firmware after driver receives roam sync indication which leads to destruction of TDLS STA instance in firmware. Host driver would later send WMI_TDLS_SET_STATE_CMDID with enable TDLS state(not part of this commit) after successful STA roaming so that firmware maps TDLS STA with new mac. This change also removes unused ucfg_tdls_notify_sta_connect() and ucfg_tdls_notify_sta_disconnect() APIs. Change-Id: Id680d0f6193740b24e78115ac7dc7be26e28acff CRs-Fixed: 3388507
This commit is contained in:

committed by
Madan Koyyalamudi

parent
f2c863571c
commit
b8adb54ef5
@@ -173,6 +173,10 @@ cm_fw_roam_sync_start_ind(struct wlan_objmgr_vdev *vdev,
|
||||
wlan_dlm_update_bssid_connect_params(pdev,
|
||||
connected_bssid,
|
||||
DLM_AP_DISCONNECTED);
|
||||
|
||||
/* Notify TDLS STA about disconnection due to roaming */
|
||||
wlan_tdls_notify_sta_disconnect(vdev_id, true, false, vdev);
|
||||
|
||||
if (IS_ROAM_REASON_STA_KICKOUT(sync_ind->roam_reason)) {
|
||||
struct reject_ap_info ap_info;
|
||||
|
||||
|
Reference in New Issue
Block a user