qcacld-3.0: Fix deadlock for race condition

When connect from wpa_supplicant and roam from F/W happens at same
time, supplicant hold cm cm_req_lock and wait rsp from scheduler
thread, sheduler thread is blocked to wait for cm_req_lock.

Change-Id: I6b9010972d29be9a32d3b85ee72891ed62b50801
CRs-Fixed: 3087169
This commit is contained in:
Jianmin Zhu
2021-12-02 16:43:40 +08:00
کامیت شده توسط Madan Koyyalamudi
والد 5f3b829cf5
کامیت 86a4abbf0f
2فایلهای تغییر یافته به همراه8 افزوده شده و 1 حذف شده

مشاهده پرونده

@@ -60,6 +60,13 @@ QDF_STATUS cm_fw_roam_sync_req(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
return QDF_STATUS_E_NULL_VALUE;
}
if (cm_is_vdev_connecting(vdev) || cm_is_vdev_disconnecting(vdev)) {
mlme_err("vdev %d Roam sync not handled in conneting/disconneting state",
vdev_id);
return cm_roam_stop_req(psoc, vdev_id,
REASON_ROAM_SYNCH_FAILED);
}
status = cm_sm_deliver_event(vdev, WLAN_CM_SM_EV_ROAM_SYNC,
event_data_len, event);