qcacld-3.0: Pass psoc instead of vdev for teardown links

As part of start_ap or connect_start to teardown active tdls peers
hdd_notify_teardown_tdls_links is called with argument vdev. But
TDLS might not be enabled on that vdev. With recent changes,
osif_priv object is initialized as part of tdls_vdev_init.
For the new interface if TDLS is not initialized then osif_priv
object will not be found and TDLS peers are not removed.

Change-Id: Idcf690bba2766664700a4851d390ee620f2fe73a
CRs-Fixed: 2460108
This commit is contained in:
Bala Venkatesh
2019-05-27 14:16:40 +05:30
committed by nshrivas
parent 8280a15953
commit 9bb9c05e83
9 changed files with 69 additions and 45 deletions

View File

@@ -764,18 +764,14 @@ QDF_STATUS ucfg_tdls_responder(struct tdls_set_responder_req *req)
return status;
}
QDF_STATUS ucfg_tdls_teardown_links(struct wlan_objmgr_vdev *vdev)
QDF_STATUS ucfg_tdls_teardown_links(struct wlan_objmgr_psoc *psoc)
{
QDF_STATUS status;
struct scheduler_msg msg = {0, };
if (!vdev) {
tdls_err("vdev is NULL ");
return QDF_STATUS_E_NULL_VALUE;
}
tdls_debug("Enter ");
msg.bodyptr = vdev;
msg.bodyptr = psoc;
msg.callback = tdls_process_cmd;
msg.flush_callback = ucfg_tdls_post_msg_flush_cb;
msg.type = TDLS_CMD_TEARDOWN_LINKS;
@@ -1123,3 +1119,9 @@ void ucfg_tdls_notify_connect_failure(struct wlan_objmgr_psoc *psoc)
{
return tdls_notify_decrement_session(psoc);
}
struct wlan_objmgr_vdev *ucfg_get_tdls_vdev(struct wlan_objmgr_psoc *psoc,
wlan_objmgr_ref_dbgid dbg_id)
{
return tdls_get_vdev(psoc, dbg_id);
}