qcacld-3.0: Do not send enable TDLS in case of DBS

Currently, TDLS set state command is sent to FW after any session
decrement without checking the HW mode is DBS. This can lead to
FW assert.

Check for HW mode before enabling TDLS in FW.

Change-Id: I70d5ba15c9b891f5d9b411960d51d684105061e8
CRs-Fixed: 2530773
这个提交包含在:
Bala Venkatesh
2019-09-20 13:07:21 +05:30
提交者 nshrivas
父节点 596e524549
当前提交 ab30be31ba
修改 2 个文件,包含 8 行新增1 行删除

查看文件

@@ -984,6 +984,9 @@ void policy_mgr_pdev_set_hw_mode_cb(uint32_t status,
ret = policy_mgr_set_connection_update(context);
if (!QDF_IS_STATUS_SUCCESS(ret))
policy_mgr_err("ERROR: set connection_update_done event failed");
/* Notify tdls */
if (pm_ctx->tdls_cbacks.tdls_notify_decrement_session)
pm_ctx->tdls_cbacks.tdls_notify_decrement_session(pm_ctx->psoc);
if (PM_NOP != next_action)
policy_mgr_next_actions(context, session_id,

查看文件

@@ -988,7 +988,11 @@ tdls_process_decrement_active_session(struct wlan_objmgr_psoc *psoc)
tdls_debug("Enter");
if (!psoc)
return QDF_STATUS_E_NULL_VALUE;
if(!policy_mgr_is_hw_dbs_2x2_capable(psoc) &&
policy_mgr_is_current_hwmode_dbs(psoc)) {
tdls_err("Current HW mode is 1*1 DBS. Wait for Opportunistic timer to expire to enable TDLS in FW");
return QDF_STATUS_SUCCESS;
}
tdls_obj_vdev = tdls_get_vdev(psoc, WLAN_TDLS_NB_ID);
if (tdls_obj_vdev) {
tdls_debug("Enable TDLS in FW and host as only one active sta/p2p_cli interface is present");